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/23 07:15:00 UTC

[camel] branch master updated (f6302d5 -> 9fd9aa1)

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 f6302d5  Sync deps
     new 4a315ee  CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
     new c85acf0  CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
     new 7ade296  CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
     new 4c4d56e  CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
     new 9fd9aa1  CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM

The 5 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-iam.json   |   52 -
 .../org/apache/camel/catalog/docs.properties       |    1 -
 .../camel/catalog/docs/aws-iam-component.adoc      |  187 ----
 components/camel-aws-iam/pom.xml                   |   72 --
 .../component/aws/iam/IAMComponentConfigurer.java  |  113 --
 .../component/aws/iam/IAMEndpointConfigurer.java   |   97 --
 .../component/aws/iam/IAMEndpointUriFactory.java   |   74 --
 .../services/org/apache/camel/component.properties |    7 -
 .../services/org/apache/camel/component/aws-iam    |    2 -
 .../org/apache/camel/configurer/aws-iam-component  |    2 -
 .../org/apache/camel/configurer/aws-iam-endpoint   |    2 -
 .../org/apache/camel/urifactory/aws-iam-endpoint   |    2 -
 .../apache/camel/component/aws/iam/aws-iam.json    |   52 -
 .../src/main/docs/aws-iam-component.adoc           |  187 ----
 .../camel/component/aws/iam/IAMComponent.java      |   81 --
 .../aws/iam/IAMComponentVerifierExtension.java     |   92 --
 .../camel/component/aws/iam/IAMConfiguration.java  |  165 ---
 .../camel/component/aws/iam/IAMConstants.java      |   29 -
 .../camel/component/aws/iam/IAMEndpoint.java       |  123 ---
 .../camel/component/aws/iam/IAMOperations.java     |   34 -
 .../camel/component/aws/iam/IAMProducer.java       |  395 -------
 .../component/aws/iam/AmazonIAMClientMock.java     | 1107 --------------------
 .../aws/iam/IAMComponentClientRegistryTest.java    |   70 --
 .../aws/iam/IAMComponentConfigurationTest.java     |   69 --
 .../aws/iam/IAMComponentVerifierExtensionTest.java |   76 --
 .../component/aws/iam/IAMProducerSpringTest.java   |  292 ------
 .../camel/component/aws/iam/IAMProducerTest.java   |  325 ------
 .../src/test/resources/log4j2.properties           |   28 -
 .../aws/iam/IAMComponentSpringTest-context.xml     |   95 --
 components/pom.xml                                 |    1 -
 core/camel-allcomponents/pom.xml                   |    4 -
 .../component/ComponentsBuilderFactory.java        |   14 -
 .../dsl/AwsIamComponentBuilderFactory.java         |  292 ------
 .../src/generated/resources/metadata.json          |   23 -
 .../builder/endpoint/EndpointBuilderFactory.java   |    1 -
 .../camel/builder/endpoint/EndpointBuilders.java   |    1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |   45 -
 .../endpoint/dsl/IAMEndpointBuilderFactory.java    |  385 -------
 docs/components/modules/ROOT/nav.adoc              |    1 -
 .../modules/ROOT/pages/aws-iam-component.adoc      |  189 ----
 .../ROOT/pages/camel-3x-upgrade-guide-3_9.adoc     |    1 +
 parent/pom.xml                                     |    5 -
 44 files changed, 1 insertion(+), 4798 deletions(-)
 delete mode 100644 catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-iam.json
 delete mode 100644 catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-iam-component.adoc
 delete mode 100644 components/camel-aws-iam/pom.xml
 delete mode 100644 components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMComponentConfigurer.java
 delete mode 100644 components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointConfigurer.java
 delete mode 100644 components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointUriFactory.java
 delete mode 100644 components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 delete mode 100644 components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/component/aws-iam
 delete mode 100644 components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-component
 delete mode 100644 components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-endpoint
 delete mode 100644 components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-iam-endpoint
 delete mode 100644 components/camel-aws-iam/src/generated/resources/org/apache/camel/component/aws/iam/aws-iam.json
 delete mode 100644 components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtension.java
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConstants.java
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMEndpoint.java
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
 delete mode 100644 components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
 delete mode 100644 components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
 delete mode 100644 components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentClientRegistryTest.java
 delete mode 100644 components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentConfigurationTest.java
 delete mode 100644 components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtensionTest.java
 delete mode 100644 components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
 delete mode 100644 components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
 delete mode 100644 components/camel-aws-iam/src/test/resources/log4j2.properties
 delete mode 100644 components/camel-aws-iam/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
 delete mode 100644 core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsIamComponentBuilderFactory.java
 delete mode 100644 core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java
 delete mode 100644 docs/components/modules/ROOT/pages/aws-iam-component.adoc


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

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 9fd9aa138b48a4710fcf608cab30665c9f20b088
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Feb 23 08:01:10 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
---
 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 e343838..b531bdd 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
@@ -50,3 +50,4 @@ the one to use above, and then add which -starter JARs you want to use in your C
 - Camel-AWS-KMS has been removed. Please switch to Camel-AWS2-KMS.
 - Camel-AWS-Kinesis has been removed. Please switch to Camel-AWS2-Kinesis.
 - 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] 02/05: CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM

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 c85acf03243d626c44dbea2227817abe5d339212
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Feb 23 07:50:37 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
---
 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 9018eec..16215de 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -163,11 +163,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-aws-iam</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 50af8dc..1daf4ec 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -131,10 +131,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.camel</groupId>
-			<artifactId>camel-aws-iam</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 e86519f..33f9312 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -883,11 +883,6 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.camel</groupId>
-				<artifactId>camel-aws-iam</artifactId>
-				<version>${project.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.camel</groupId>
 				<artifactId>camel-aws-s3</artifactId>
 				<version>${project.version}</version>
 			</dependency>


[camel] 01/05: CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM

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 4a315ee796f17ca8b3eeecaa4aae29196775ad4a
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Feb 23 07:49:37 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
---
 components/camel-aws-iam/pom.xml                   |   72 --
 .../component/aws/iam/IAMComponentConfigurer.java  |  113 --
 .../component/aws/iam/IAMEndpointConfigurer.java   |   97 --
 .../component/aws/iam/IAMEndpointUriFactory.java   |   74 --
 .../services/org/apache/camel/component.properties |    7 -
 .../services/org/apache/camel/component/aws-iam    |    2 -
 .../org/apache/camel/configurer/aws-iam-component  |    2 -
 .../org/apache/camel/configurer/aws-iam-endpoint   |    2 -
 .../org/apache/camel/urifactory/aws-iam-endpoint   |    2 -
 .../apache/camel/component/aws/iam/aws-iam.json    |   52 -
 .../src/main/docs/aws-iam-component.adoc           |  187 ----
 .../camel/component/aws/iam/IAMComponent.java      |   81 --
 .../aws/iam/IAMComponentVerifierExtension.java     |   92 --
 .../camel/component/aws/iam/IAMConfiguration.java  |  165 ---
 .../camel/component/aws/iam/IAMConstants.java      |   29 -
 .../camel/component/aws/iam/IAMEndpoint.java       |  123 ---
 .../camel/component/aws/iam/IAMOperations.java     |   34 -
 .../camel/component/aws/iam/IAMProducer.java       |  395 -------
 .../component/aws/iam/AmazonIAMClientMock.java     | 1107 --------------------
 .../aws/iam/IAMComponentClientRegistryTest.java    |   70 --
 .../aws/iam/IAMComponentConfigurationTest.java     |   69 --
 .../aws/iam/IAMComponentVerifierExtensionTest.java |   76 --
 .../component/aws/iam/IAMProducerSpringTest.java   |  292 ------
 .../camel/component/aws/iam/IAMProducerTest.java   |  325 ------
 .../src/test/resources/log4j2.properties           |   28 -
 .../aws/iam/IAMComponentSpringTest-context.xml     |   95 --
 components/pom.xml                                 |    1 -
 27 files changed, 3592 deletions(-)

diff --git a/components/camel-aws-iam/pom.xml b/components/camel-aws-iam/pom.xml
deleted file mode 100644
index b3b0ed4..0000000
--- a/components/camel-aws-iam/pom.xml
+++ /dev/null
@@ -1,72 +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-iam</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: AWS IAM (deprecated)</name>
-    <description>A Camel Amazon IAM 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-iam</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>
-    </dependencies>
-</project>
diff --git a/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMComponentConfigurer.java b/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMComponentConfigurer.java
deleted file mode 100644
index 01d5ad9..0000000
--- a/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMComponentConfigurer.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.iam;
-
-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 IAMComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    private org.apache.camel.component.aws.iam.IAMConfiguration getOrCreateConfiguration(IAMComponent target) {
-        if (target.getConfiguration() == null) {
-            target.setConfiguration(new org.apache.camel.component.aws.iam.IAMConfiguration());
-        }
-        return target.getConfiguration();
-    }
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        IAMComponent target = (IAMComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.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.iam.IAMConfiguration.class, value)); return true;
-        case "iamclient":
-        case "iamClient": getOrCreateConfiguration(target).setIamClient(property(camelContext, com.amazonaws.services.identitymanagement.AmazonIdentityManagement.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.iam.IAMOperations.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 "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "autowiredenabled":
-        case "autowiredEnabled": return boolean.class;
-        case "configuration": return org.apache.camel.component.aws.iam.IAMConfiguration.class;
-        case "iamclient":
-        case "iamClient": return com.amazonaws.services.identitymanagement.AmazonIdentityManagement.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "operation": return org.apache.camel.component.aws.iam.IAMOperations.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) {
-        IAMComponent target = (IAMComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return getOrCreateConfiguration(target).isAutoDiscoverClient();
-        case "autowiredenabled":
-        case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "configuration": return target.getConfiguration();
-        case "iamclient":
-        case "iamClient": return getOrCreateConfiguration(target).getIamClient();
-        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-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointConfigurer.java b/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointConfigurer.java
deleted file mode 100644
index 917df03..0000000
--- a/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointConfigurer.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.iam;
-
-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 IAMEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        IAMEndpoint target = (IAMEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": target.getConfiguration().setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "iamclient":
-        case "iamClient": target.getConfiguration().setIamClient(property(camelContext, com.amazonaws.services.identitymanagement.AmazonIdentityManagement.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.iam.IAMOperations.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 "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "iamclient":
-        case "iamClient": return com.amazonaws.services.identitymanagement.AmazonIdentityManagement.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "operation": return org.apache.camel.component.aws.iam.IAMOperations.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) {
-        IAMEndpoint target = (IAMEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return target.getConfiguration().getAccessKey();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return target.getConfiguration().isAutoDiscoverClient();
-        case "iamclient":
-        case "iamClient": return target.getConfiguration().getIamClient();
-        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-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointUriFactory.java b/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointUriFactory.java
deleted file mode 100644
index bb81f02..0000000
--- a/components/camel-aws-iam/src/generated/java/org/apache/camel/component/aws/iam/IAMEndpointUriFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.iam;
-
-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 IAMEndpointUriFactory 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("iamClient");
-        props.add("lazyStartProducer");
-        props.add("proxyProtocol");
-        props.add("secretKey");
-        props.add("accessKey");
-        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-iam".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-iam/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index 2ef6e9d..0000000
--- a/components/camel-aws-iam/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-iam
-groupId=org.apache.camel
-artifactId=camel-aws-iam
-version=3.9.0-SNAPSHOT
-projectName=Camel :: AWS IAM (deprecated)
-projectDescription=A Camel Amazon IAM Web Service Component
diff --git a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/component/aws-iam b/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/component/aws-iam
deleted file mode 100644
index f00b73d..0000000
--- a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/component/aws-iam
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.iam.IAMComponent
diff --git a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-component b/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-component
deleted file mode 100644
index 4c5f00d..0000000
--- a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.iam.IAMComponentConfigurer
diff --git a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-endpoint b/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-endpoint
deleted file mode 100644
index 9eae1ef..0000000
--- a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-iam-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.iam.IAMEndpointConfigurer
diff --git a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-iam-endpoint b/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-iam-endpoint
deleted file mode 100644
index d5cea95..0000000
--- a/components/camel-aws-iam/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-iam-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.iam.IAMEndpointUriFactory
diff --git a/components/camel-aws-iam/src/generated/resources/org/apache/camel/component/aws/iam/aws-iam.json b/components/camel-aws-iam/src/generated/resources/org/apache/camel/component/aws/iam/aws-iam.json
deleted file mode 100644
index 4acf39f..0000000
--- a/components/camel-aws-iam/src/generated/resources/org/apache/camel/component/aws/iam/aws-iam.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-iam",
-    "title": "AWS Identity and Access Management (IAM)",
-    "description": "Manage AWS IAM instances.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.23.0",
-    "label": "cloud,management",
-    "javaType": "org.apache.camel.component.aws.iam.IAMComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-iam",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-iam",
-    "extendsScheme": "",
-    "syntax": "aws-iam: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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.iam.IAMConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
-    "iamClient": { "kind": "property", "displayName": "Iam Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.identitymanagement.AmazonIdentityManagement", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.iam.IAMConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS IAM as client" },
-    "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.iam.IAMOperations", "enum": [ "listAccessKeys", "createUser", "deleteUser", "getUser", "listUsers", "createAccessKey", "deleteAccessKey", "updateAccessKey", "createGroup", "deleteGroup", "listGroups", "addUserToGroup", "removeUserFromGroup" ], "deprecated": false, "deprecationNote": "", "autowired": fa [...]
-    "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region  [...]
-    "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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "iamClient": { "kind": "parameter", "displayName": "Iam Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.identitymanagement.AmazonIdentityManagement", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.iam.IAMConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS IAM 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.iam.IAMOperations", "enum": [ "listAccessKeys", "createUser", "deleteUser", "getUser", "listUsers", "createAccessKey", "deleteAccessKey", "updateAccessKey", "createGroup", "deleteGroup", "listGroups", "addUserToGroup", "removeUserFromGroup" ], "deprecated": false, "deprecationNote": "", "autowired": f [...]
-    "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  }
-}
diff --git a/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc b/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
deleted file mode 100644
index 4c897e1..0000000
--- a/components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
+++ /dev/null
@@ -1,187 +0,0 @@
-[[aws-iam-component]]
-= AWS Identity and Access Management (IAM) Component (deprecated)
-:docTitle: AWS Identity and Access Management (IAM)
-:artifactId: camel-aws-iam
-:description: Manage AWS IAM instances.
-:since: 2.23
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-iam.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The KMS component supports create, run, start, stop and terminate
-https://aws.amazon.com/iam/[AWS IAM] instances.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon IAM. More information is available at
-https://aws.amazon.com/iam/[Amazon IAM].
-
-== URI Format
-
-[source,java]
--------------------------
-aws-iam://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 Identity and Access Management (IAM) 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
-| *configuration* (producer) | The component configuration |  | IAMConfiguration
-| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentityManagement
-| *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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAMOperations
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | 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 Identity and Access Management (IAM) endpoint is configured using URI syntax:
-
-----
-aws-iam: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
-| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentityManagement
-| *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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAMOperations
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required IAM component options
-
-You have to provide the amazonKmsClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/iam/[Amazon IAM] service.
-
-== Usage
-
-=== Message headers evaluated by the IAM producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsIAMOperation` |`String` |The operation we want to perform
-
-|`CamelAwsIAMUsername` |`String` |The username for the user you want to manage
-
-|`CamelAwsIAMAccessKeyID` |`String` |The accessKey you want to manage
-
-|`CamelAwsIAMAccessKeyStatus` |`String` |The Status of the AccessKey you want to set, possible value are active and inactive
-
-|`CamelAwsIAMGroupName` |`String` |The name of an AWS IAM Group
-
-|`CamelAwsIAMGroupPath` |`String` |The path of an AWS IAM Group
-|=======================================================================
-
-=== IAM Producer operations
-
-Camel-AWS IAM component provides the following operation on the producer side:
-
-- listAccessKeys
-- createUser
-- deleteUser
-- listUsers
-- getUser
-- createAccessKey
-- deleteAccessKey
-- updateAccessKey
-- createGroup
-- deleteGroup
-- listGroups
-- addUserToGroup
-- removeUserFromGroup
-
-== Producer Examples
-
-- createUser: this operation will create a user in IAM
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:createUser")
-    .setHeader(IAMConstants.GROUP_NAME, constant("camel"))
-    .to("aws-iam://test?iamClient=#amazonIAMClient&operation=createUser")
---------------------------------------------------------------------------------
-
-== Automatic detection of AmazonIdentityManagement client in registry
-
-The component is capable of detecting the presence of an AmazonIdentityManagement 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-iam</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-iam-starter.adoc[]
diff --git a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java
deleted file mode 100644
index bc173be..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java
+++ /dev/null
@@ -1,81 +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.iam;
-
-import java.util.Map;
-import java.util.Set;
-
-import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
-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 IAM.
- */
-@Component("aws-iam")
-public class IAMComponent extends DefaultComponent {
-
-    @Metadata
-    private IAMConfiguration configuration = new IAMConfiguration();
-
-    public IAMComponent() {
-        this(null);
-    }
-
-    public IAMComponent(CamelContext context) {
-        super(context);
-
-        registerExtension(new IAMComponentVerifierExtension());
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        IAMConfiguration configuration = this.configuration != null ? this.configuration.copy() : new IAMConfiguration();
-        IAMEndpoint endpoint = new IAMEndpoint(uri, this, configuration);
-        setProperties(endpoint, parameters);
-        if (endpoint.getConfiguration().isAutoDiscoverClient()) {
-            checkAndSetRegistryClient(configuration);
-        }
-        if (configuration.getIamClient() == null
-                && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("Amazon IAM client or accessKey and secretKey must be specified");
-        }
-
-        return endpoint;
-    }
-
-    public IAMConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    /**
-     * The component configuration
-     */
-    public void setConfiguration(IAMConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    private void checkAndSetRegistryClient(IAMConfiguration configuration) {
-        Set<AmazonIdentityManagement> clients = getCamelContext().getRegistry().findByType(AmazonIdentityManagement.class);
-        if (clients.size() == 1) {
-            configuration.setIamClient(clients.stream().findFirst().get());
-        }
-    }
-}
diff --git a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtension.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtension.java
deleted file mode 100644
index ddde79c..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtension.java
+++ /dev/null
@@ -1,92 +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.iam;
-
-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.identitymanagement.AmazonIdentityManagement;
-import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder;
-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 IAMComponentVerifierExtension extends DefaultComponentVerifierExtension {
-
-    public IAMComponentVerifierExtension() {
-        this("aws-iam");
-    }
-
-    public IAMComponentVerifierExtension(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 {
-            IAMConfiguration configuration = setProperties(new IAMConfiguration(), parameters);
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            AmazonIdentityManagement client
-                    = AmazonIdentityManagementClientBuilder.standard().withCredentials(credentialsProvider)
-                            .withRegion(Regions.valueOf(configuration.getRegion())).build();
-            client.listAccessKeys();
-        } catch (SdkClientException e) {
-            ResultErrorBuilder errorBuilder
-                    = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
-                            .detail("aws_iam_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-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java
deleted file mode 100644
index ae4412f..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java
+++ /dev/null
@@ -1,165 +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.iam;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
-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 IAMConfiguration implements Cloneable {
-
-    @UriPath(description = "Logical name")
-    @Metadata(required = true)
-    private String label;
-    @UriParam(label = "producer")
-    private AmazonIdentityManagement iamClient;
-    @UriParam(label = "producer", secret = true)
-    private String accessKey;
-    @UriParam(label = "producer", secret = true)
-    private String secretKey;
-    @UriParam(label = "producer")
-    @Metadata(required = true)
-    private IAMOperations 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 AmazonIdentityManagement getIamClient() {
-        return iamClient;
-    }
-
-    /**
-     * To use a existing configured AWS IAM as client
-     */
-    public void setIamClient(AmazonIdentityManagement iamClient) {
-        this.iamClient = iamClient;
-    }
-
-    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 IAMOperations getOperation() {
-        return operation;
-    }
-
-    /**
-     * The operation to perform
-     */
-    public void setOperation(IAMOperations operation) {
-        this.operation = operation;
-    }
-
-    public Protocol getProxyProtocol() {
-        return proxyProtocol;
-    }
-
-    /**
-     * To define a proxy protocol when instantiating the IAM client
-     */
-    public void setProxyProtocol(Protocol proxyProtocol) {
-        this.proxyProtocol = proxyProtocol;
-    }
-
-    public String getProxyHost() {
-        return proxyHost;
-    }
-
-    /**
-     * To define a proxy host when instantiating the IAM client
-     */
-    public void setProxyHost(String proxyHost) {
-        this.proxyHost = proxyHost;
-    }
-
-    public Integer getProxyPort() {
-        return proxyPort;
-    }
-
-    /**
-     * To define a proxy port when instantiating the IAM client
-     */
-    public void setProxyPort(Integer proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-
-    public String getRegion() {
-        return region;
-    }
-
-    /**
-     * The region in which IAM client needs to work. When using this parameter, the configuration will expect the
-     * capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name()
-     */
-    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 IAMConfiguration copy() {
-        try {
-            return (IAMConfiguration) super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new RuntimeCamelException(e);
-        }
-    }
-}
diff --git a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConstants.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConstants.java
deleted file mode 100644
index b31e096..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMConstants.java
+++ /dev/null
@@ -1,29 +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.iam;
-
-/**
- * Constants used in Camel AWS IAM module
- */
-public interface IAMConstants {
-    String OPERATION = "CamelAwsIAMOperation";
-    String USERNAME = "CamelAwsIAMUsername";
-    String ACCESS_KEY_ID = "CamelAwsIAMAccessKeyID";
-    String ACCESS_KEY_STATUS = "CamelAwsIAMAccessKeyStatus";
-    String GROUP_NAME = "CamelAwsIAMGroupName";
-    String GROUP_PATH = "CamelAwsIAMGroupPath";
-}
diff --git a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMEndpoint.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMEndpoint.java
deleted file mode 100644
index 1e8b9c4..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMEndpoint.java
+++ /dev/null
@@ -1,123 +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.iam;
-
-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.identitymanagement.AmazonIdentityManagement;
-import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder;
-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 IAM instances.
- */
-@UriEndpoint(firstVersion = "2.23.0", scheme = "aws-iam", title = "AWS Identity and Access Management (IAM)",
-             syntax = "aws-iam:label", producerOnly = true, category = { Category.CLOUD, Category.MANAGEMENT })
-public class IAMEndpoint extends ScheduledPollEndpoint {
-
-    private AmazonIdentityManagement iamClient;
-
-    @UriParam
-    private IAMConfiguration configuration;
-
-    public IAMEndpoint(String uri, Component component, IAMConfiguration 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 IAMProducer(this);
-    }
-
-    @Override
-    public void doStart() throws Exception {
-        super.doStart();
-
-        iamClient = configuration.getIamClient() != null ? configuration.getIamClient() : createIAMClient();
-    }
-
-    @Override
-    public void doStop() throws Exception {
-        if (ObjectHelper.isEmpty(configuration.getIamClient())) {
-            if (iamClient != null) {
-                iamClient.shutdown();
-            }
-        }
-        super.doStop();
-    }
-
-    public IAMConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    public AmazonIdentityManagement getIamClient() {
-        return iamClient;
-    }
-
-    AmazonIdentityManagement createIAMClient() {
-        AmazonIdentityManagement client = null;
-        ClientConfiguration clientConfiguration = null;
-        AmazonIdentityManagementClientBuilder 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 = AmazonIdentityManagementClientBuilder.standard().withClientConfiguration(clientConfiguration)
-                        .withCredentials(credentialsProvider);
-            } else {
-                clientBuilder = AmazonIdentityManagementClientBuilder.standard().withCredentials(credentialsProvider);
-            }
-        } else {
-            if (isClientConfigFound) {
-                clientBuilder = AmazonIdentityManagementClientBuilder.standard();
-            } else {
-                clientBuilder = AmazonIdentityManagementClientBuilder.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-iam/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
deleted file mode 100644
index ade9f2b..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
+++ /dev/null
@@ -1,34 +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.iam;
-
-public enum IAMOperations {
-
-    listAccessKeys,
-    createUser,
-    deleteUser,
-    getUser,
-    listUsers,
-    createAccessKey,
-    deleteAccessKey,
-    updateAccessKey,
-    createGroup,
-    deleteGroup,
-    listGroups,
-    addUserToGroup,
-    removeUserFromGroup
-}
diff --git a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java b/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
deleted file mode 100644
index d6cb288..0000000
--- a/components/camel-aws-iam/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
+++ /dev/null
@@ -1,395 +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.iam;
-
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
-import com.amazonaws.services.identitymanagement.model.AddUserToGroupRequest;
-import com.amazonaws.services.identitymanagement.model.AddUserToGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateAccessKeyRequest;
-import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.CreateGroupRequest;
-import com.amazonaws.services.identitymanagement.model.CreateGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateUserRequest;
-import com.amazonaws.services.identitymanagement.model.CreateUserResult;
-import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupResult;
-import com.amazonaws.services.identitymanagement.model.DeleteUserRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
-import com.amazonaws.services.identitymanagement.model.GetUserRequest;
-import com.amazonaws.services.identitymanagement.model.GetUserResult;
-import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
-import com.amazonaws.services.identitymanagement.model.ListGroupsResult;
-import com.amazonaws.services.identitymanagement.model.ListUsersResult;
-import com.amazonaws.services.identitymanagement.model.RemoveUserFromGroupRequest;
-import com.amazonaws.services.identitymanagement.model.RemoveUserFromGroupResult;
-import com.amazonaws.services.identitymanagement.model.StatusType;
-import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyResult;
-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 IAM Service <a href="http://aws.amazon.com/iam/">AWS IAM</a>
- */
-public class IAMProducer extends DefaultProducer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(IAMProducer.class);
-    private transient String iamProducerToString;
-
-    public IAMProducer(Endpoint endpoint) {
-        super(endpoint);
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        switch (determineOperation(exchange)) {
-            case listAccessKeys:
-                listAccessKeys(getEndpoint().getIamClient(), exchange);
-                break;
-            case createAccessKey:
-                createAccessKey(getEndpoint().getIamClient(), exchange);
-                break;
-            case deleteAccessKey:
-                deleteAccessKey(getEndpoint().getIamClient(), exchange);
-                break;
-            case updateAccessKey:
-                updateAccessKey(getEndpoint().getIamClient(), exchange);
-                break;
-            case createUser:
-                createUser(getEndpoint().getIamClient(), exchange);
-                break;
-            case deleteUser:
-                deleteUser(getEndpoint().getIamClient(), exchange);
-                break;
-            case getUser:
-                getUser(getEndpoint().getIamClient(), exchange);
-                break;
-            case listUsers:
-                listUsers(getEndpoint().getIamClient(), exchange);
-                break;
-            case createGroup:
-                createGroup(getEndpoint().getIamClient(), exchange);
-                break;
-            case deleteGroup:
-                deleteGroup(getEndpoint().getIamClient(), exchange);
-                break;
-            case listGroups:
-                listGroups(getEndpoint().getIamClient(), exchange);
-                break;
-            case addUserToGroup:
-                addUserToGroup(getEndpoint().getIamClient(), exchange);
-                break;
-            case removeUserFromGroup:
-                removeUserFromGroup(getEndpoint().getIamClient(), exchange);
-                break;
-            default:
-                throw new IllegalArgumentException("Unsupported operation");
-        }
-    }
-
-    private IAMOperations determineOperation(Exchange exchange) {
-        IAMOperations operation = exchange.getIn().getHeader(IAMConstants.OPERATION, IAMOperations.class);
-        if (operation == null) {
-            operation = getConfiguration().getOperation();
-        }
-        return operation;
-    }
-
-    protected IAMConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    @Override
-    public String toString() {
-        if (iamProducerToString == null) {
-            iamProducerToString = "IAMProducer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
-        }
-        return iamProducerToString;
-    }
-
-    @Override
-    public IAMEndpoint getEndpoint() {
-        return (IAMEndpoint) super.getEndpoint();
-    }
-
-    private void listAccessKeys(AmazonIdentityManagement iamClient, Exchange exchange) {
-        ListAccessKeysResult result;
-        try {
-            result = iamClient.listAccessKeys();
-        } catch (AmazonServiceException ase) {
-            LOG.trace("List Access Keys command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void createUser(AmazonIdentityManagement iamClient, Exchange exchange) {
-        CreateUserRequest request = new CreateUserRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        } else {
-            throw new IllegalArgumentException("User Name must be specified");
-        }
-        CreateUserResult result;
-        try {
-            result = iamClient.createUser(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Create user command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteUser(AmazonIdentityManagement iamClient, Exchange exchange) {
-        DeleteUserRequest request = new DeleteUserRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        } else {
-            throw new IllegalArgumentException("User Name must be specified");
-        }
-        DeleteUserResult result;
-        try {
-            result = iamClient.deleteUser(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Delete user command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void getUser(AmazonIdentityManagement iamClient, Exchange exchange) {
-        GetUserRequest request = new GetUserRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        } else {
-            throw new IllegalArgumentException("User Name must be specified");
-        }
-        GetUserResult result;
-        try {
-            result = iamClient.getUser(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("get user command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listUsers(AmazonIdentityManagement iamClient, Exchange exchange) {
-        ListUsersResult result;
-        try {
-            result = iamClient.listUsers();
-        } catch (AmazonServiceException ase) {
-            LOG.trace("List users command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void createAccessKey(AmazonIdentityManagement iamClient, Exchange exchange) {
-        CreateAccessKeyRequest request = new CreateAccessKeyRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        }
-        CreateAccessKeyResult result;
-        try {
-            result = iamClient.createAccessKey(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Create Access Key command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteAccessKey(AmazonIdentityManagement iamClient, Exchange exchange) {
-        DeleteAccessKeyRequest request = new DeleteAccessKeyRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.ACCESS_KEY_ID))) {
-            String accessKeyId = exchange.getIn().getHeader(IAMConstants.ACCESS_KEY_ID, String.class);
-            request.withAccessKeyId(accessKeyId);
-        } else {
-            throw new IllegalArgumentException("Key Id must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        }
-        DeleteAccessKeyResult result;
-        try {
-            result = iamClient.deleteAccessKey(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Delete Access Key command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void updateAccessKey(AmazonIdentityManagement iamClient, Exchange exchange) {
-        UpdateAccessKeyRequest request = new UpdateAccessKeyRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.ACCESS_KEY_ID))) {
-            String accessKeyId = exchange.getIn().getHeader(IAMConstants.ACCESS_KEY_ID, String.class);
-            request.withAccessKeyId(accessKeyId);
-        } else {
-            throw new IllegalArgumentException("Key Id must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.ACCESS_KEY_STATUS))) {
-            String status = exchange.getIn().getHeader(IAMConstants.ACCESS_KEY_STATUS, String.class);
-            request.withStatus(StatusType.fromValue(status));
-        } else {
-            throw new IllegalArgumentException("Access Key status must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        }
-        UpdateAccessKeyResult result;
-        try {
-            result = iamClient.updateAccessKey(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Update Access Key command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void createGroup(AmazonIdentityManagement iamClient, Exchange exchange) {
-        CreateGroupRequest request = new CreateGroupRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.GROUP_NAME))) {
-            String groupName = exchange.getIn().getHeader(IAMConstants.GROUP_NAME, String.class);
-            request.withGroupName(groupName);
-        } else {
-            throw new IllegalArgumentException("Group Name must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.GROUP_PATH))) {
-            String groupPath = exchange.getIn().getHeader(IAMConstants.GROUP_PATH, String.class);
-            request.withPath(groupPath);
-        }
-        CreateGroupResult result;
-        try {
-            result = iamClient.createGroup(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Create Group command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteGroup(AmazonIdentityManagement iamClient, Exchange exchange) {
-        DeleteGroupRequest request = new DeleteGroupRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.GROUP_NAME))) {
-            String groupName = exchange.getIn().getHeader(IAMConstants.GROUP_NAME, String.class);
-            request.withGroupName(groupName);
-        } else {
-            throw new IllegalArgumentException("Group Name must be specified");
-        }
-        DeleteGroupResult result;
-        try {
-            result = iamClient.deleteGroup(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Delete Group command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listGroups(AmazonIdentityManagement iamClient, Exchange exchange) {
-        ListGroupsResult result;
-        try {
-            result = iamClient.listGroups();
-        } catch (AmazonServiceException ase) {
-            LOG.trace("List Groups command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void addUserToGroup(AmazonIdentityManagement iamClient, Exchange exchange) {
-        AddUserToGroupRequest request = new AddUserToGroupRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.GROUP_NAME))) {
-            String groupName = exchange.getIn().getHeader(IAMConstants.GROUP_NAME, String.class);
-            request.withGroupName(groupName);
-        } else {
-            throw new IllegalArgumentException("Group Name must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        } else {
-            throw new IllegalArgumentException("User Name must be specified");
-        }
-        AddUserToGroupResult result;
-        try {
-            result = iamClient.addUserToGroup(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Add User To Group command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void removeUserFromGroup(AmazonIdentityManagement iamClient, Exchange exchange) {
-        RemoveUserFromGroupRequest request = new RemoveUserFromGroupRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.GROUP_NAME))) {
-            String groupName = exchange.getIn().getHeader(IAMConstants.GROUP_NAME, String.class);
-            request.withGroupName(groupName);
-        } else {
-            throw new IllegalArgumentException("Group Name must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
-            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
-            request.withUserName(userName);
-        } else {
-            throw new IllegalArgumentException("User Name must be specified");
-        }
-        RemoveUserFromGroupResult result;
-        try {
-            result = iamClient.removeUserFromGroup(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Remove User From Group command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    public static Message getMessageForResponse(final Exchange exchange) {
-        return exchange.getMessage();
-    }
-}
diff --git a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java b/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
deleted file mode 100644
index 4865d7d..0000000
--- a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
+++ /dev/null
@@ -1,1107 +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.iam;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-import com.amazonaws.AmazonWebServiceRequest;
-import com.amazonaws.ResponseMetadata;
-import com.amazonaws.regions.Region;
-import com.amazonaws.services.identitymanagement.AbstractAmazonIdentityManagement;
-import com.amazonaws.services.identitymanagement.model.AccessKey;
-import com.amazonaws.services.identitymanagement.model.AccessKeyMetadata;
-import com.amazonaws.services.identitymanagement.model.AddClientIDToOpenIDConnectProviderRequest;
-import com.amazonaws.services.identitymanagement.model.AddClientIDToOpenIDConnectProviderResult;
-import com.amazonaws.services.identitymanagement.model.AddRoleToInstanceProfileRequest;
-import com.amazonaws.services.identitymanagement.model.AddRoleToInstanceProfileResult;
-import com.amazonaws.services.identitymanagement.model.AddUserToGroupRequest;
-import com.amazonaws.services.identitymanagement.model.AddUserToGroupResult;
-import com.amazonaws.services.identitymanagement.model.AttachGroupPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.AttachGroupPolicyResult;
-import com.amazonaws.services.identitymanagement.model.AttachRolePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.AttachRolePolicyResult;
-import com.amazonaws.services.identitymanagement.model.AttachUserPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.AttachUserPolicyResult;
-import com.amazonaws.services.identitymanagement.model.ChangePasswordRequest;
-import com.amazonaws.services.identitymanagement.model.ChangePasswordResult;
-import com.amazonaws.services.identitymanagement.model.CreateAccessKeyRequest;
-import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.CreateAccountAliasRequest;
-import com.amazonaws.services.identitymanagement.model.CreateAccountAliasResult;
-import com.amazonaws.services.identitymanagement.model.CreateGroupRequest;
-import com.amazonaws.services.identitymanagement.model.CreateGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateInstanceProfileRequest;
-import com.amazonaws.services.identitymanagement.model.CreateInstanceProfileResult;
-import com.amazonaws.services.identitymanagement.model.CreateLoginProfileRequest;
-import com.amazonaws.services.identitymanagement.model.CreateLoginProfileResult;
-import com.amazonaws.services.identitymanagement.model.CreateOpenIDConnectProviderRequest;
-import com.amazonaws.services.identitymanagement.model.CreateOpenIDConnectProviderResult;
-import com.amazonaws.services.identitymanagement.model.CreatePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.CreatePolicyResult;
-import com.amazonaws.services.identitymanagement.model.CreatePolicyVersionRequest;
-import com.amazonaws.services.identitymanagement.model.CreatePolicyVersionResult;
-import com.amazonaws.services.identitymanagement.model.CreateRoleRequest;
-import com.amazonaws.services.identitymanagement.model.CreateRoleResult;
-import com.amazonaws.services.identitymanagement.model.CreateSAMLProviderRequest;
-import com.amazonaws.services.identitymanagement.model.CreateSAMLProviderResult;
-import com.amazonaws.services.identitymanagement.model.CreateServiceLinkedRoleRequest;
-import com.amazonaws.services.identitymanagement.model.CreateServiceLinkedRoleResult;
-import com.amazonaws.services.identitymanagement.model.CreateServiceSpecificCredentialRequest;
-import com.amazonaws.services.identitymanagement.model.CreateServiceSpecificCredentialResult;
-import com.amazonaws.services.identitymanagement.model.CreateUserRequest;
-import com.amazonaws.services.identitymanagement.model.CreateUserResult;
-import com.amazonaws.services.identitymanagement.model.CreateVirtualMFADeviceRequest;
-import com.amazonaws.services.identitymanagement.model.CreateVirtualMFADeviceResult;
-import com.amazonaws.services.identitymanagement.model.DeactivateMFADeviceRequest;
-import com.amazonaws.services.identitymanagement.model.DeactivateMFADeviceResult;
-import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteAccountAliasRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteAccountAliasResult;
-import com.amazonaws.services.identitymanagement.model.DeleteAccountPasswordPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteAccountPasswordPolicyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupPolicyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupResult;
-import com.amazonaws.services.identitymanagement.model.DeleteInstanceProfileRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteInstanceProfileResult;
-import com.amazonaws.services.identitymanagement.model.DeleteLoginProfileRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteLoginProfileResult;
-import com.amazonaws.services.identitymanagement.model.DeleteOpenIDConnectProviderRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteOpenIDConnectProviderResult;
-import com.amazonaws.services.identitymanagement.model.DeletePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DeletePolicyResult;
-import com.amazonaws.services.identitymanagement.model.DeletePolicyVersionRequest;
-import com.amazonaws.services.identitymanagement.model.DeletePolicyVersionResult;
-import com.amazonaws.services.identitymanagement.model.DeleteRolePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteRolePolicyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteRoleRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteRoleResult;
-import com.amazonaws.services.identitymanagement.model.DeleteSAMLProviderRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteSAMLProviderResult;
-import com.amazonaws.services.identitymanagement.model.DeleteSSHPublicKeyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteSSHPublicKeyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteServerCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteServerCertificateResult;
-import com.amazonaws.services.identitymanagement.model.DeleteServiceLinkedRoleRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteServiceLinkedRoleResult;
-import com.amazonaws.services.identitymanagement.model.DeleteServiceSpecificCredentialRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteServiceSpecificCredentialResult;
-import com.amazonaws.services.identitymanagement.model.DeleteSigningCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteSigningCertificateResult;
-import com.amazonaws.services.identitymanagement.model.DeleteUserPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteUserPolicyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteUserRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
-import com.amazonaws.services.identitymanagement.model.DeleteVirtualMFADeviceRequest;
-import com.amazonaws.services.identitymanagement.model.DeleteVirtualMFADeviceResult;
-import com.amazonaws.services.identitymanagement.model.DetachGroupPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DetachGroupPolicyResult;
-import com.amazonaws.services.identitymanagement.model.DetachRolePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DetachRolePolicyResult;
-import com.amazonaws.services.identitymanagement.model.DetachUserPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.DetachUserPolicyResult;
-import com.amazonaws.services.identitymanagement.model.EnableMFADeviceRequest;
-import com.amazonaws.services.identitymanagement.model.EnableMFADeviceResult;
-import com.amazonaws.services.identitymanagement.model.GenerateCredentialReportRequest;
-import com.amazonaws.services.identitymanagement.model.GenerateCredentialReportResult;
-import com.amazonaws.services.identitymanagement.model.GetAccessKeyLastUsedRequest;
-import com.amazonaws.services.identitymanagement.model.GetAccessKeyLastUsedResult;
-import com.amazonaws.services.identitymanagement.model.GetAccountAuthorizationDetailsRequest;
-import com.amazonaws.services.identitymanagement.model.GetAccountAuthorizationDetailsResult;
-import com.amazonaws.services.identitymanagement.model.GetAccountPasswordPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetAccountPasswordPolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetAccountSummaryRequest;
-import com.amazonaws.services.identitymanagement.model.GetAccountSummaryResult;
-import com.amazonaws.services.identitymanagement.model.GetContextKeysForCustomPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetContextKeysForCustomPolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetContextKeysForPrincipalPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetContextKeysForPrincipalPolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetCredentialReportRequest;
-import com.amazonaws.services.identitymanagement.model.GetCredentialReportResult;
-import com.amazonaws.services.identitymanagement.model.GetGroupPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetGroupPolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetGroupRequest;
-import com.amazonaws.services.identitymanagement.model.GetGroupResult;
-import com.amazonaws.services.identitymanagement.model.GetInstanceProfileRequest;
-import com.amazonaws.services.identitymanagement.model.GetInstanceProfileResult;
-import com.amazonaws.services.identitymanagement.model.GetLoginProfileRequest;
-import com.amazonaws.services.identitymanagement.model.GetLoginProfileResult;
-import com.amazonaws.services.identitymanagement.model.GetOpenIDConnectProviderRequest;
-import com.amazonaws.services.identitymanagement.model.GetOpenIDConnectProviderResult;
-import com.amazonaws.services.identitymanagement.model.GetPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetPolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetPolicyVersionRequest;
-import com.amazonaws.services.identitymanagement.model.GetPolicyVersionResult;
-import com.amazonaws.services.identitymanagement.model.GetRolePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetRolePolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetRoleRequest;
-import com.amazonaws.services.identitymanagement.model.GetRoleResult;
-import com.amazonaws.services.identitymanagement.model.GetSAMLProviderRequest;
-import com.amazonaws.services.identitymanagement.model.GetSAMLProviderResult;
-import com.amazonaws.services.identitymanagement.model.GetSSHPublicKeyRequest;
-import com.amazonaws.services.identitymanagement.model.GetSSHPublicKeyResult;
-import com.amazonaws.services.identitymanagement.model.GetServerCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.GetServerCertificateResult;
-import com.amazonaws.services.identitymanagement.model.GetServiceLinkedRoleDeletionStatusRequest;
-import com.amazonaws.services.identitymanagement.model.GetServiceLinkedRoleDeletionStatusResult;
-import com.amazonaws.services.identitymanagement.model.GetUserPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.GetUserPolicyResult;
-import com.amazonaws.services.identitymanagement.model.GetUserRequest;
-import com.amazonaws.services.identitymanagement.model.GetUserResult;
-import com.amazonaws.services.identitymanagement.model.Group;
-import com.amazonaws.services.identitymanagement.model.ListAccessKeysRequest;
-import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
-import com.amazonaws.services.identitymanagement.model.ListAccountAliasesRequest;
-import com.amazonaws.services.identitymanagement.model.ListAccountAliasesResult;
-import com.amazonaws.services.identitymanagement.model.ListAttachedGroupPoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListAttachedGroupPoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListAttachedRolePoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListAttachedRolePoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListAttachedUserPoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListAttachedUserPoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListEntitiesForPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.ListEntitiesForPolicyResult;
-import com.amazonaws.services.identitymanagement.model.ListGroupPoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListGroupPoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListGroupsForUserRequest;
-import com.amazonaws.services.identitymanagement.model.ListGroupsForUserResult;
-import com.amazonaws.services.identitymanagement.model.ListGroupsRequest;
-import com.amazonaws.services.identitymanagement.model.ListGroupsResult;
-import com.amazonaws.services.identitymanagement.model.ListInstanceProfilesForRoleRequest;
-import com.amazonaws.services.identitymanagement.model.ListInstanceProfilesForRoleResult;
-import com.amazonaws.services.identitymanagement.model.ListInstanceProfilesRequest;
-import com.amazonaws.services.identitymanagement.model.ListInstanceProfilesResult;
-import com.amazonaws.services.identitymanagement.model.ListMFADevicesRequest;
-import com.amazonaws.services.identitymanagement.model.ListMFADevicesResult;
-import com.amazonaws.services.identitymanagement.model.ListOpenIDConnectProvidersRequest;
-import com.amazonaws.services.identitymanagement.model.ListOpenIDConnectProvidersResult;
-import com.amazonaws.services.identitymanagement.model.ListPoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListPoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListPolicyVersionsRequest;
-import com.amazonaws.services.identitymanagement.model.ListPolicyVersionsResult;
-import com.amazonaws.services.identitymanagement.model.ListRolePoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListRolePoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListRolesRequest;
-import com.amazonaws.services.identitymanagement.model.ListRolesResult;
-import com.amazonaws.services.identitymanagement.model.ListSAMLProvidersRequest;
-import com.amazonaws.services.identitymanagement.model.ListSAMLProvidersResult;
-import com.amazonaws.services.identitymanagement.model.ListSSHPublicKeysRequest;
-import com.amazonaws.services.identitymanagement.model.ListSSHPublicKeysResult;
-import com.amazonaws.services.identitymanagement.model.ListServerCertificatesRequest;
-import com.amazonaws.services.identitymanagement.model.ListServerCertificatesResult;
-import com.amazonaws.services.identitymanagement.model.ListServiceSpecificCredentialsRequest;
-import com.amazonaws.services.identitymanagement.model.ListServiceSpecificCredentialsResult;
-import com.amazonaws.services.identitymanagement.model.ListSigningCertificatesRequest;
-import com.amazonaws.services.identitymanagement.model.ListSigningCertificatesResult;
-import com.amazonaws.services.identitymanagement.model.ListUserPoliciesRequest;
-import com.amazonaws.services.identitymanagement.model.ListUserPoliciesResult;
-import com.amazonaws.services.identitymanagement.model.ListUsersRequest;
-import com.amazonaws.services.identitymanagement.model.ListUsersResult;
-import com.amazonaws.services.identitymanagement.model.ListVirtualMFADevicesRequest;
-import com.amazonaws.services.identitymanagement.model.ListVirtualMFADevicesResult;
-import com.amazonaws.services.identitymanagement.model.PutGroupPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.PutGroupPolicyResult;
-import com.amazonaws.services.identitymanagement.model.PutRolePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.PutRolePolicyResult;
-import com.amazonaws.services.identitymanagement.model.PutUserPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.PutUserPolicyResult;
-import com.amazonaws.services.identitymanagement.model.RemoveClientIDFromOpenIDConnectProviderRequest;
-import com.amazonaws.services.identitymanagement.model.RemoveClientIDFromOpenIDConnectProviderResult;
-import com.amazonaws.services.identitymanagement.model.RemoveRoleFromInstanceProfileRequest;
-import com.amazonaws.services.identitymanagement.model.RemoveRoleFromInstanceProfileResult;
-import com.amazonaws.services.identitymanagement.model.RemoveUserFromGroupRequest;
-import com.amazonaws.services.identitymanagement.model.RemoveUserFromGroupResult;
-import com.amazonaws.services.identitymanagement.model.ResetServiceSpecificCredentialRequest;
-import com.amazonaws.services.identitymanagement.model.ResetServiceSpecificCredentialResult;
-import com.amazonaws.services.identitymanagement.model.ResyncMFADeviceRequest;
-import com.amazonaws.services.identitymanagement.model.ResyncMFADeviceResult;
-import com.amazonaws.services.identitymanagement.model.SetDefaultPolicyVersionRequest;
-import com.amazonaws.services.identitymanagement.model.SetDefaultPolicyVersionResult;
-import com.amazonaws.services.identitymanagement.model.SimulateCustomPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.SimulateCustomPolicyResult;
-import com.amazonaws.services.identitymanagement.model.SimulatePrincipalPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.SimulatePrincipalPolicyResult;
-import com.amazonaws.services.identitymanagement.model.StatusType;
-import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.UpdateAccountPasswordPolicyRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateAccountPasswordPolicyResult;
-import com.amazonaws.services.identitymanagement.model.UpdateAssumeRolePolicyRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateAssumeRolePolicyResult;
-import com.amazonaws.services.identitymanagement.model.UpdateGroupRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateGroupResult;
-import com.amazonaws.services.identitymanagement.model.UpdateLoginProfileRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateLoginProfileResult;
-import com.amazonaws.services.identitymanagement.model.UpdateOpenIDConnectProviderThumbprintRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateOpenIDConnectProviderThumbprintResult;
-import com.amazonaws.services.identitymanagement.model.UpdateRoleDescriptionRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateRoleDescriptionResult;
-import com.amazonaws.services.identitymanagement.model.UpdateSAMLProviderRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateSAMLProviderResult;
-import com.amazonaws.services.identitymanagement.model.UpdateSSHPublicKeyRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateSSHPublicKeyResult;
-import com.amazonaws.services.identitymanagement.model.UpdateServerCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateServerCertificateResult;
-import com.amazonaws.services.identitymanagement.model.UpdateServiceSpecificCredentialRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateServiceSpecificCredentialResult;
-import com.amazonaws.services.identitymanagement.model.UpdateSigningCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateSigningCertificateResult;
-import com.amazonaws.services.identitymanagement.model.UpdateUserRequest;
-import com.amazonaws.services.identitymanagement.model.UpdateUserResult;
-import com.amazonaws.services.identitymanagement.model.UploadSSHPublicKeyRequest;
-import com.amazonaws.services.identitymanagement.model.UploadSSHPublicKeyResult;
-import com.amazonaws.services.identitymanagement.model.UploadServerCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.UploadServerCertificateResult;
-import com.amazonaws.services.identitymanagement.model.UploadSigningCertificateRequest;
-import com.amazonaws.services.identitymanagement.model.UploadSigningCertificateResult;
-import com.amazonaws.services.identitymanagement.model.User;
-import com.amazonaws.services.identitymanagement.waiters.AmazonIdentityManagementWaiters;
-
-public class AmazonIAMClientMock extends AbstractAmazonIdentityManagement {
-
-    @Override
-    public void setEndpoint(String endpoint) {
-    }
-
-    @Override
-    public void setRegion(Region region) {
-    }
-
-    @Override
-    public AddClientIDToOpenIDConnectProviderResult addClientIDToOpenIDConnectProvider(
-            AddClientIDToOpenIDConnectProviderRequest addClientIDToOpenIDConnectProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AddRoleToInstanceProfileResult addRoleToInstanceProfile(
-            AddRoleToInstanceProfileRequest addRoleToInstanceProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AddUserToGroupResult addUserToGroup(AddUserToGroupRequest addUserToGroupRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AttachGroupPolicyResult attachGroupPolicy(AttachGroupPolicyRequest attachGroupPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AttachRolePolicyResult attachRolePolicy(AttachRolePolicyRequest attachRolePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AttachUserPolicyResult attachUserPolicy(AttachUserPolicyRequest attachUserPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ChangePasswordResult changePassword(ChangePasswordRequest changePasswordRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateAccessKeyResult createAccessKey(CreateAccessKeyRequest createAccessKeyRequest) {
-        CreateAccessKeyResult res = new CreateAccessKeyResult();
-        AccessKey key = new AccessKey();
-        key.setAccessKeyId("test");
-        key.setSecretAccessKey("testSecret");
-        res.setAccessKey(key);
-        return res;
-    }
-
-    @Override
-    public CreateAccessKeyResult createAccessKey() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateAccountAliasResult createAccountAlias(CreateAccountAliasRequest createAccountAliasRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateGroupResult createGroup(CreateGroupRequest createGroupRequest) {
-        CreateGroupResult result = new CreateGroupResult();
-        Group group = new Group();
-        group.setGroupName(createGroupRequest.getGroupName());
-        if (createGroupRequest.getPath() != null) {
-            group.setPath(createGroupRequest.getPath());
-        }
-        group.setGroupId("TestGroup");
-        result.setGroup(group);
-        return result;
-    }
-
-    @Override
-    public CreateInstanceProfileResult createInstanceProfile(CreateInstanceProfileRequest createInstanceProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateLoginProfileResult createLoginProfile(CreateLoginProfileRequest createLoginProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateOpenIDConnectProviderResult createOpenIDConnectProvider(
-            CreateOpenIDConnectProviderRequest createOpenIDConnectProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreatePolicyResult createPolicy(CreatePolicyRequest createPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreatePolicyVersionResult createPolicyVersion(CreatePolicyVersionRequest createPolicyVersionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateRoleResult createRole(CreateRoleRequest createRoleRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateSAMLProviderResult createSAMLProvider(CreateSAMLProviderRequest createSAMLProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateServiceLinkedRoleResult createServiceLinkedRole(
-            CreateServiceLinkedRoleRequest createServiceLinkedRoleRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateServiceSpecificCredentialResult createServiceSpecificCredential(
-            CreateServiceSpecificCredentialRequest createServiceSpecificCredentialRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateUserResult createUser(CreateUserRequest createUserRequest) {
-        CreateUserResult result = new CreateUserResult();
-        User user = new User();
-        user.setUserName("test");
-        result.setUser(user);
-        return result;
-    }
-
-    @Override
-    public CreateVirtualMFADeviceResult createVirtualMFADevice(CreateVirtualMFADeviceRequest createVirtualMFADeviceRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeactivateMFADeviceResult deactivateMFADevice(DeactivateMFADeviceRequest deactivateMFADeviceRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteAccessKeyResult deleteAccessKey(DeleteAccessKeyRequest deleteAccessKeyRequest) {
-        DeleteAccessKeyResult res = new DeleteAccessKeyResult();
-        return res;
-    }
-
-    @Override
-    public DeleteAccountAliasResult deleteAccountAlias(DeleteAccountAliasRequest deleteAccountAliasRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteAccountPasswordPolicyResult deleteAccountPasswordPolicy(
-            DeleteAccountPasswordPolicyRequest deleteAccountPasswordPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteAccountPasswordPolicyResult deleteAccountPasswordPolicy() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteGroupResult deleteGroup(DeleteGroupRequest deleteGroupRequest) {
-        DeleteGroupResult result = new DeleteGroupResult();
-        return result;
-    }
-
-    @Override
-    public DeleteGroupPolicyResult deleteGroupPolicy(DeleteGroupPolicyRequest deleteGroupPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteInstanceProfileResult deleteInstanceProfile(DeleteInstanceProfileRequest deleteInstanceProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteLoginProfileResult deleteLoginProfile(DeleteLoginProfileRequest deleteLoginProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteOpenIDConnectProviderResult deleteOpenIDConnectProvider(
-            DeleteOpenIDConnectProviderRequest deleteOpenIDConnectProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeletePolicyResult deletePolicy(DeletePolicyRequest deletePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeletePolicyVersionResult deletePolicyVersion(DeletePolicyVersionRequest deletePolicyVersionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteRoleResult deleteRole(DeleteRoleRequest deleteRoleRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteRolePolicyResult deleteRolePolicy(DeleteRolePolicyRequest deleteRolePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteSAMLProviderResult deleteSAMLProvider(DeleteSAMLProviderRequest deleteSAMLProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteSSHPublicKeyResult deleteSSHPublicKey(DeleteSSHPublicKeyRequest deleteSSHPublicKeyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteServerCertificateResult deleteServerCertificate(
-            DeleteServerCertificateRequest deleteServerCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteServiceLinkedRoleResult deleteServiceLinkedRole(
-            DeleteServiceLinkedRoleRequest deleteServiceLinkedRoleRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteServiceSpecificCredentialResult deleteServiceSpecificCredential(
-            DeleteServiceSpecificCredentialRequest deleteServiceSpecificCredentialRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteSigningCertificateResult deleteSigningCertificate(
-            DeleteSigningCertificateRequest deleteSigningCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteUserResult deleteUser(DeleteUserRequest deleteUserRequest) {
-        DeleteUserResult res = new DeleteUserResult();
-        return res;
-    }
-
-    @Override
-    public DeleteUserPolicyResult deleteUserPolicy(DeleteUserPolicyRequest deleteUserPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DeleteVirtualMFADeviceResult deleteVirtualMFADevice(DeleteVirtualMFADeviceRequest deleteVirtualMFADeviceRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DetachGroupPolicyResult detachGroupPolicy(DetachGroupPolicyRequest detachGroupPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DetachRolePolicyResult detachRolePolicy(DetachRolePolicyRequest detachRolePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DetachUserPolicyResult detachUserPolicy(DetachUserPolicyRequest detachUserPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public EnableMFADeviceResult enableMFADevice(EnableMFADeviceRequest enableMFADeviceRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GenerateCredentialReportResult generateCredentialReport(
-            GenerateCredentialReportRequest generateCredentialReportRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GenerateCredentialReportResult generateCredentialReport() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccessKeyLastUsedResult getAccessKeyLastUsed(GetAccessKeyLastUsedRequest getAccessKeyLastUsedRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccountAuthorizationDetailsResult getAccountAuthorizationDetails(
-            GetAccountAuthorizationDetailsRequest getAccountAuthorizationDetailsRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccountAuthorizationDetailsResult getAccountAuthorizationDetails() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccountPasswordPolicyResult getAccountPasswordPolicy(
-            GetAccountPasswordPolicyRequest getAccountPasswordPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccountPasswordPolicyResult getAccountPasswordPolicy() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccountSummaryResult getAccountSummary(GetAccountSummaryRequest getAccountSummaryRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAccountSummaryResult getAccountSummary() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetContextKeysForCustomPolicyResult getContextKeysForCustomPolicy(
-            GetContextKeysForCustomPolicyRequest getContextKeysForCustomPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetContextKeysForPrincipalPolicyResult getContextKeysForPrincipalPolicy(
-            GetContextKeysForPrincipalPolicyRequest getContextKeysForPrincipalPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetCredentialReportResult getCredentialReport(GetCredentialReportRequest getCredentialReportRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetCredentialReportResult getCredentialReport() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetGroupResult getGroup(GetGroupRequest getGroupRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetGroupPolicyResult getGroupPolicy(GetGroupPolicyRequest getGroupPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetInstanceProfileResult getInstanceProfile(GetInstanceProfileRequest getInstanceProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetLoginProfileResult getLoginProfile(GetLoginProfileRequest getLoginProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetOpenIDConnectProviderResult getOpenIDConnectProvider(
-            GetOpenIDConnectProviderRequest getOpenIDConnectProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetPolicyResult getPolicy(GetPolicyRequest getPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetPolicyVersionResult getPolicyVersion(GetPolicyVersionRequest getPolicyVersionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetRoleResult getRole(GetRoleRequest getRoleRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetRolePolicyResult getRolePolicy(GetRolePolicyRequest getRolePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetSAMLProviderResult getSAMLProvider(GetSAMLProviderRequest getSAMLProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetSSHPublicKeyResult getSSHPublicKey(GetSSHPublicKeyRequest getSSHPublicKeyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetServerCertificateResult getServerCertificate(GetServerCertificateRequest getServerCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetServiceLinkedRoleDeletionStatusResult getServiceLinkedRoleDeletionStatus(
-            GetServiceLinkedRoleDeletionStatusRequest getServiceLinkedRoleDeletionStatusRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetUserResult getUser(GetUserRequest getUserRequest) {
-        GetUserResult result = new GetUserResult();
-        User user = new User();
-        user.setUserName("test");
-        result.setUser(user);
-        return result;
-    }
-
-    @Override
-    public GetUserResult getUser() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetUserPolicyResult getUserPolicy(GetUserPolicyRequest getUserPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListAccessKeysResult listAccessKeys(ListAccessKeysRequest listAccessKeysRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListAccessKeysResult listAccessKeys() {
-        ListAccessKeysResult result = new ListAccessKeysResult();
-        Collection<AccessKeyMetadata> accessKeyMetadata = new ArrayList<>();
-        AccessKeyMetadata meta = new AccessKeyMetadata();
-        meta.setAccessKeyId("1");
-        meta.setCreateDate(new Date());
-        meta.setStatus(StatusType.Active);
-        meta.setUserName("test");
-        accessKeyMetadata.add(meta);
-        result.setAccessKeyMetadata(accessKeyMetadata);
-        return result;
-    }
-
-    @Override
-    public ListAccountAliasesResult listAccountAliases(ListAccountAliasesRequest listAccountAliasesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListAccountAliasesResult listAccountAliases() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListAttachedGroupPoliciesResult listAttachedGroupPolicies(
-            ListAttachedGroupPoliciesRequest listAttachedGroupPoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListAttachedRolePoliciesResult listAttachedRolePolicies(
-            ListAttachedRolePoliciesRequest listAttachedRolePoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListAttachedUserPoliciesResult listAttachedUserPolicies(
-            ListAttachedUserPoliciesRequest listAttachedUserPoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListEntitiesForPolicyResult listEntitiesForPolicy(ListEntitiesForPolicyRequest listEntitiesForPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListGroupPoliciesResult listGroupPolicies(ListGroupPoliciesRequest listGroupPoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListGroupsResult listGroups(ListGroupsRequest listGroupsRequest) {
-        Group group = new Group();
-        group.setGroupId("TestGroup");
-        group.setGroupName("Test");
-        ListGroupsResult res = new ListGroupsResult();
-        res.setGroups(Collections.singleton(group));
-        return res;
-    }
-
-    @Override
-    public ListGroupsResult listGroups() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListGroupsForUserResult listGroupsForUser(ListGroupsForUserRequest listGroupsForUserRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListInstanceProfilesResult listInstanceProfiles(ListInstanceProfilesRequest listInstanceProfilesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListInstanceProfilesResult listInstanceProfiles() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListInstanceProfilesForRoleResult listInstanceProfilesForRole(
-            ListInstanceProfilesForRoleRequest listInstanceProfilesForRoleRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListMFADevicesResult listMFADevices(ListMFADevicesRequest listMFADevicesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListMFADevicesResult listMFADevices() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListOpenIDConnectProvidersResult listOpenIDConnectProviders(
-            ListOpenIDConnectProvidersRequest listOpenIDConnectProvidersRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListOpenIDConnectProvidersResult listOpenIDConnectProviders() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListPoliciesResult listPolicies(ListPoliciesRequest listPoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListPoliciesResult listPolicies() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListPolicyVersionsResult listPolicyVersions(ListPolicyVersionsRequest listPolicyVersionsRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListRolePoliciesResult listRolePolicies(ListRolePoliciesRequest listRolePoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListRolesResult listRoles(ListRolesRequest listRolesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListRolesResult listRoles() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListSAMLProvidersResult listSAMLProviders(ListSAMLProvidersRequest listSAMLProvidersRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListSAMLProvidersResult listSAMLProviders() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListSSHPublicKeysResult listSSHPublicKeys(ListSSHPublicKeysRequest listSSHPublicKeysRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListSSHPublicKeysResult listSSHPublicKeys() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListServerCertificatesResult listServerCertificates(ListServerCertificatesRequest listServerCertificatesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListServerCertificatesResult listServerCertificates() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListServiceSpecificCredentialsResult listServiceSpecificCredentials(
-            ListServiceSpecificCredentialsRequest listServiceSpecificCredentialsRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListSigningCertificatesResult listSigningCertificates(
-            ListSigningCertificatesRequest listSigningCertificatesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListSigningCertificatesResult listSigningCertificates() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListUserPoliciesResult listUserPolicies(ListUserPoliciesRequest listUserPoliciesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListUsersResult listUsers(ListUsersRequest listUsersRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListUsersResult listUsers() {
-        ListUsersResult res = new ListUsersResult();
-        List<User> list = new ArrayList<>();
-        User user = new User();
-        user.setUserName("test");
-        list.add(user);
-        res.setUsers(list);
-        return res;
-    }
-
-    @Override
-    public ListVirtualMFADevicesResult listVirtualMFADevices(ListVirtualMFADevicesRequest listVirtualMFADevicesRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListVirtualMFADevicesResult listVirtualMFADevices() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public PutGroupPolicyResult putGroupPolicy(PutGroupPolicyRequest putGroupPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public PutRolePolicyResult putRolePolicy(PutRolePolicyRequest putRolePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public PutUserPolicyResult putUserPolicy(PutUserPolicyRequest putUserPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public RemoveClientIDFromOpenIDConnectProviderResult removeClientIDFromOpenIDConnectProvider(
-            RemoveClientIDFromOpenIDConnectProviderRequest removeClientIDFromOpenIDConnectProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public RemoveRoleFromInstanceProfileResult removeRoleFromInstanceProfile(
-            RemoveRoleFromInstanceProfileRequest removeRoleFromInstanceProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public RemoveUserFromGroupResult removeUserFromGroup(RemoveUserFromGroupRequest removeUserFromGroupRequest) {
-        RemoveUserFromGroupResult res = new RemoveUserFromGroupResult();
-        return res;
-    }
-
-    @Override
-    public ResetServiceSpecificCredentialResult resetServiceSpecificCredential(
-            ResetServiceSpecificCredentialRequest resetServiceSpecificCredentialRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ResyncMFADeviceResult resyncMFADevice(ResyncMFADeviceRequest resyncMFADeviceRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public SetDefaultPolicyVersionResult setDefaultPolicyVersion(
-            SetDefaultPolicyVersionRequest setDefaultPolicyVersionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public SimulateCustomPolicyResult simulateCustomPolicy(SimulateCustomPolicyRequest simulateCustomPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public SimulatePrincipalPolicyResult simulatePrincipalPolicy(
-            SimulatePrincipalPolicyRequest simulatePrincipalPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateAccessKeyResult updateAccessKey(UpdateAccessKeyRequest updateAccessKeyRequest) {
-        UpdateAccessKeyResult result = new UpdateAccessKeyResult();
-        return result;
-    }
-
-    @Override
-    public UpdateAccountPasswordPolicyResult updateAccountPasswordPolicy(
-            UpdateAccountPasswordPolicyRequest updateAccountPasswordPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateAssumeRolePolicyResult updateAssumeRolePolicy(UpdateAssumeRolePolicyRequest updateAssumeRolePolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateGroupResult updateGroup(UpdateGroupRequest updateGroupRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateLoginProfileResult updateLoginProfile(UpdateLoginProfileRequest updateLoginProfileRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateOpenIDConnectProviderThumbprintResult updateOpenIDConnectProviderThumbprint(
-            UpdateOpenIDConnectProviderThumbprintRequest updateOpenIDConnectProviderThumbprintRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateRoleDescriptionResult updateRoleDescription(UpdateRoleDescriptionRequest updateRoleDescriptionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateSAMLProviderResult updateSAMLProvider(UpdateSAMLProviderRequest updateSAMLProviderRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateSSHPublicKeyResult updateSSHPublicKey(UpdateSSHPublicKeyRequest updateSSHPublicKeyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateServerCertificateResult updateServerCertificate(
-            UpdateServerCertificateRequest updateServerCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateServiceSpecificCredentialResult updateServiceSpecificCredential(
-            UpdateServiceSpecificCredentialRequest updateServiceSpecificCredentialRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateSigningCertificateResult updateSigningCertificate(
-            UpdateSigningCertificateRequest updateSigningCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateUserResult updateUser(UpdateUserRequest updateUserRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UploadSSHPublicKeyResult uploadSSHPublicKey(UploadSSHPublicKeyRequest uploadSSHPublicKeyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UploadServerCertificateResult uploadServerCertificate(
-            UploadServerCertificateRequest uploadServerCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UploadSigningCertificateResult uploadSigningCertificate(
-            UploadSigningCertificateRequest uploadSigningCertificateRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void shutdown() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AmazonIdentityManagementWaiters waiters() {
-        throw new UnsupportedOperationException();
-    }
-}
diff --git a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentClientRegistryTest.java b/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentClientRegistryTest.java
deleted file mode 100644
index 38ed7e7..0000000
--- a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentClientRegistryTest.java
+++ /dev/null
@@ -1,70 +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.iam;
-
-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 IAMComponentClientRegistryTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalECSClientConfiguration() throws Exception {
-
-        AmazonIAMClientMock clientMock = new AmazonIAMClientMock();
-        context.getRegistry().bind("amazonIamClient", clientMock);
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        IAMEndpoint endpoint = (IAMEndpoint) component.createEndpoint("aws-iam://TestDomain");
-
-        assertNotNull(endpoint.getConfiguration().getIamClient());
-    }
-
-    @Test
-    public void createEndpointWithMinimalECSClientMisconfiguration() throws Exception {
-
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-iam://TestDomain"));
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientFalse() throws Exception {
-
-        AmazonIAMClientMock clientMock = new AmazonIAMClientMock();
-        context.getRegistry().bind("amazonIamClient", clientMock);
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        IAMEndpoint endpoint = (IAMEndpoint) component
-                .createEndpoint("aws-iam://TestDomain?accessKey=xxx&secretKey=yyy&autoDiscoverClient=false");
-
-        assertNotSame(clientMock, endpoint.getConfiguration().getIamClient());
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientTrue() throws Exception {
-
-        AmazonIAMClientMock clientMock = new AmazonIAMClientMock();
-        context.getRegistry().bind("amazonIamClient", clientMock);
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        IAMEndpoint endpoint = (IAMEndpoint) component.createEndpoint("aws-iam://TestDomain?accessKey=xxx&secretKey=yyy");
-
-        assertSame(clientMock, endpoint.getConfiguration().getIamClient());
-    }
-}
diff --git a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentConfigurationTest.java b/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentConfigurationTest.java
deleted file mode 100644
index d923694..0000000
--- a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentConfigurationTest.java
+++ /dev/null
@@ -1,69 +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.iam;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.regions.Regions;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class IAMComponentConfigurationTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithComponentElements() throws Exception {
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        IAMEndpoint endpoint = (IAMEndpoint) component.createEndpoint("aws-iam://label");
-
-        assertEquals("XXX", endpoint.getConfiguration().getAccessKey());
-        assertEquals("YYY", endpoint.getConfiguration().getSecretKey());
-    }
-
-    @Test
-    public void createEndpointWithComponentAndEndpointElements() throws Exception {
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        IAMEndpoint endpoint
-                = (IAMEndpoint) component.createEndpoint("aws-iam://label?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 {
-        IAMComponent component = context.getComponent("aws-iam", IAMComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        IAMEndpoint endpoint = (IAMEndpoint) component.createEndpoint(
-                "aws-iam://label?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-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtensionTest.java b/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtensionTest.java
deleted file mode 100644
index f3755c4..0000000
--- a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMComponentVerifierExtensionTest.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.iam;
-
-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 IAMComponentVerifierExtensionTest extends CamelTestSupport {
-
-    // *************************************************
-    // Tests (parameters)
-    // *************************************************
-    @Override
-    public boolean isUseRouteBuilder() {
-        return false;
-    }
-
-    @Test
-    public void testParameters() throws Exception {
-        Component component = context().getComponent("aws-iam");
-
-        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", IAMOperations.listAccessKeys);
-
-        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-iam");
-        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", IAMOperations.listAccessKeys);
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, result.getStatus());
-    }
-
-}
diff --git a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java b/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
deleted file mode 100644
index 1d0a7dd..0000000
--- a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
+++ /dev/null
@@ -1,292 +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.iam;
-
-import com.amazonaws.services.identitymanagement.model.AddUserToGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.CreateGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateUserResult;
-import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupResult;
-import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
-import com.amazonaws.services.identitymanagement.model.GetUserResult;
-import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
-import com.amazonaws.services.identitymanagement.model.ListGroupsResult;
-import com.amazonaws.services.identitymanagement.model.ListUsersResult;
-import com.amazonaws.services.identitymanagement.model.RemoveUserFromGroupResult;
-import com.amazonaws.services.identitymanagement.model.StatusType;
-import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyResult;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class IAMProducerSpringTest extends CamelSpringTestSupport {
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @Test
-    public void iamListAccessKeysTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:listKeys", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.listAccessKeys);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        ListAccessKeysResult resultGet = (ListAccessKeysResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getAccessKeyMetadata().size());
-        assertEquals("1", resultGet.getAccessKeyMetadata().get(0).getAccessKeyId());
-    }
-
-    @Test
-    public void iamCreateUserTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createUser", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createUser);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateUserResult resultGet = (CreateUserResult) exchange.getIn().getBody();
-        assertEquals("test", resultGet.getUser().getUserName());
-    }
-
-    @Test
-    public void iamDeleteUserTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:deleteUser", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteUser);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteUserResult resultGet = (DeleteUserResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void iamListUsersTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:listUsers", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.listUsers);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        ListUsersResult resultGet = (ListUsersResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getUsers().size());
-        assertEquals("test", resultGet.getUsers().get(0).getUserName());
-    }
-
-    @Test
-    public void iamCreateAccessKeyTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createAccessKey", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createAccessKey);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateAccessKeyResult resultGet = (CreateAccessKeyResult) exchange.getIn().getBody();
-        assertEquals("test", resultGet.getAccessKey().getAccessKeyId());
-        assertEquals("testSecret", resultGet.getAccessKey().getSecretAccessKey());
-    }
-
-    @Test
-    public void iamDeleteAccessKeyTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:deleteAccessKey", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteAccessKey);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-                exchange.getIn().setHeader(IAMConstants.ACCESS_KEY_ID, "1");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteAccessKeyResult resultGet = (DeleteAccessKeyResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void iamGetUserTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:getUser", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.getUser);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        GetUserResult resultGet = (GetUserResult) exchange.getIn().getBody();
-        assertEquals("test", resultGet.getUser().getUserName());
-    }
-
-    @Test
-    public void iamUpdateAccessKeyTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:updateAccessKey", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.updateAccessKey);
-                exchange.getIn().setHeader(IAMConstants.ACCESS_KEY_ID, "1");
-                exchange.getIn().setHeader(IAMConstants.ACCESS_KEY_STATUS, StatusType.Inactive.toString());
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        UpdateAccessKeyResult resultGet = (UpdateAccessKeyResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void iamCreateGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-                exchange.getIn().setHeader(IAMConstants.GROUP_PATH, "/test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateGroupResult resultGet = (CreateGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-        assertEquals("Test", resultGet.getGroup().getGroupName());
-        assertEquals("/test", resultGet.getGroup().getPath());
-    }
-
-    public void iamDeleteGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteGroupResult resultGet = (DeleteGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    public void iamListGroupsTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:listGroups", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.listGroups);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        ListGroupsResult resultGet = (ListGroupsResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-        assertEquals(1, resultGet.getGroups().size());
-        assertEquals("Test", resultGet.getGroups().get(0).getGroupName());
-    }
-
-    public void iamAddUserToGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:addUserToGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.addUserToGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "Test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        AddUserToGroupResult resultGet = (AddUserToGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    public void iamRemoveUserFromGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:removeUserFromGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.removeUserFromGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "Test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        RemoveUserFromGroupResult resultGet = (RemoveUserFromGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Override
-    protected ClassPathXmlApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml");
-    }
-}
diff --git a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java b/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
deleted file mode 100644
index 96db3fe..0000000
--- a/components/camel-aws-iam/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
+++ /dev/null
@@ -1,325 +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.iam;
-
-import com.amazonaws.services.identitymanagement.model.AddUserToGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.CreateGroupResult;
-import com.amazonaws.services.identitymanagement.model.CreateUserResult;
-import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
-import com.amazonaws.services.identitymanagement.model.DeleteGroupResult;
-import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
-import com.amazonaws.services.identitymanagement.model.GetUserResult;
-import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
-import com.amazonaws.services.identitymanagement.model.ListGroupsResult;
-import com.amazonaws.services.identitymanagement.model.ListUsersResult;
-import com.amazonaws.services.identitymanagement.model.RemoveUserFromGroupResult;
-import com.amazonaws.services.identitymanagement.model.StatusType;
-import com.amazonaws.services.identitymanagement.model.UpdateAccessKeyResult;
-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;
-
-public class IAMProducerTest extends CamelTestSupport {
-
-    @BindToRegistry("amazonIAMClient")
-    AmazonIAMClientMock clientMock = new AmazonIAMClientMock();
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @Test
-    public void iamListKeysTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:listKeys", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.listAccessKeys);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        ListAccessKeysResult resultGet = (ListAccessKeysResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getAccessKeyMetadata().size());
-        assertEquals("1", resultGet.getAccessKeyMetadata().get(0).getAccessKeyId());
-    }
-
-    @Test
-    public void iamCreateUserTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createUser", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createUser);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateUserResult resultGet = (CreateUserResult) exchange.getIn().getBody();
-        assertEquals("test", resultGet.getUser().getUserName());
-    }
-
-    @Test
-    public void iamDeleteUserTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:deleteUser", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteUser);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteUserResult resultGet = (DeleteUserResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void iamGetUserTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:getUser", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.getUser);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        GetUserResult resultGet = (GetUserResult) exchange.getIn().getBody();
-        assertEquals("test", resultGet.getUser().getUserName());
-    }
-
-    @Test
-    public void iamListUsersTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:listUsers", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.listUsers);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        ListUsersResult resultGet = (ListUsersResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getUsers().size());
-        assertEquals("test", resultGet.getUsers().get(0).getUserName());
-    }
-
-    @Test
-    public void iamCreateAccessKeyTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createAccessKey", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createAccessKey);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateAccessKeyResult resultGet = (CreateAccessKeyResult) exchange.getIn().getBody();
-        assertEquals("test", resultGet.getAccessKey().getAccessKeyId());
-        assertEquals("testSecret", resultGet.getAccessKey().getSecretAccessKey());
-    }
-
-    @Test
-    public void iamDeleteAccessKeyTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:deleteAccessKey", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteAccessKey);
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
-                exchange.getIn().setHeader(IAMConstants.ACCESS_KEY_ID, "1");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteAccessKeyResult resultGet = (DeleteAccessKeyResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void iamUpdateAccessKeyTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:updateAccessKey", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.updateAccessKey);
-                exchange.getIn().setHeader(IAMConstants.ACCESS_KEY_ID, "1");
-                exchange.getIn().setHeader(IAMConstants.ACCESS_KEY_STATUS, StatusType.Inactive.toString());
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        UpdateAccessKeyResult resultGet = (UpdateAccessKeyResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void iamCreateGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-                exchange.getIn().setHeader(IAMConstants.GROUP_PATH, "/test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateGroupResult resultGet = (CreateGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-        assertEquals("Test", resultGet.getGroup().getGroupName());
-        assertEquals("/test", resultGet.getGroup().getPath());
-    }
-
-    @Test
-    public void iamDeleteGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:deleteGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteGroupResult resultGet = (DeleteGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    public void iamListGroupsTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:listGroups", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.listGroups);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        ListGroupsResult resultGet = (ListGroupsResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-        assertEquals(1, resultGet.getGroups().size());
-        assertEquals("Test", resultGet.getGroups().get(0).getGroupName());
-    }
-
-    public void iamAddUserToGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:addUserToGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.addUserToGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "Test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        AddUserToGroupResult resultGet = (AddUserToGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    public void iamRemoveUserFromGroupTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:removeUserFromGroup", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.removeUserFromGroup);
-                exchange.getIn().setHeader(IAMConstants.GROUP_NAME, "Test");
-                exchange.getIn().setHeader(IAMConstants.USERNAME, "Test");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        RemoveUserFromGroupResult resultGet = (RemoveUserFromGroupResult) exchange.getIn().getBody();
-        assertNotNull(resultGet);
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:listKeys").to("aws-iam://test?iamClient=#amazonIAMClient&operation=listAccessKeys")
-                        .to("mock:result");
-                from("direct:createUser").to("aws-iam://test?iamClient=#amazonIAMClient&operation=createUser")
-                        .to("mock:result");
-                from("direct:deleteUser").to("aws-iam://test?iamClient=#amazonIAMClient&operation=deleteUser")
-                        .to("mock:result");
-                from("direct:listUsers").to("aws-iam://test?iamClient=#amazonIAMClient&operation=listUsers").to("mock:result");
-                from("direct:getUser").to("aws-iam://test?iamClient=#amazonIAMClient&operation=getUser").to("mock:result");
-                from("direct:createAccessKey").to("aws-iam://test?iamClient=#amazonIAMClient&operation=createAccessKey")
-                        .to("mock:result");
-                from("direct:deleteAccessKey").to("aws-iam://test?iamClient=#amazonIAMClient&operation=deleteAccessKey")
-                        .to("mock:result");
-                from("direct:updateAccessKey").to("aws-iam://test?iamClient=#amazonIAMClient&operation=updateAccessKey")
-                        .to("mock:result");
-                from("direct:createGroup").to("aws-iam://test?iamClient=#amazonIAMClient&operation=createGroup")
-                        .to("mock:result");
-                from("direct:deleteGroup").to("aws-iam://test?iamClient=#amazonIAMClient&operation=deleteGroup")
-                        .to("mock:result");
-                from("direct:listGroups").to("aws-iam://test?iamClient=#amazonIAMClient&operation=listGroups")
-                        .to("mock:result");
-                from("direct:addUserToGroup").to("aws-iam://test?iamClient=#amazonIAMClient&operation=addUserToGroup")
-                        .to("mock:result");
-                from("direct:removeUserFromGroup").to("aws-iam://test?iamClient=#amazonIAMClient&operation=removeUserFromGroup")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-iam/src/test/resources/log4j2.properties b/components/camel-aws-iam/src/test/resources/log4j2.properties
deleted file mode 100644
index 00bab03..0000000
--- a/components/camel-aws-iam/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-iam-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-iam/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml b/components/camel-aws-iam/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
deleted file mode 100644
index 361b65a..0000000
--- a/components/camel-aws-iam/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
+++ /dev/null
@@ -1,95 +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:listKeys"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=listAccessKeys"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:createUser"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=createUser"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:deleteUser"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=deleteUser"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:getUser"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=getUser"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:listUsers"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=listUsers"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:createAccessKey"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=createAccessKey"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:deleteAccessKey"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=deleteAccessKey"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:updateAccessKey"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=updateAccessKey"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:createGroup"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=createGroup"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:deleteGroup"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=deleteGroup"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:listGroups"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=listGroups"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:addUserToGroup"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=addUserToGroup"/>
-            <to uri="mock:result"/>
-        </route>
-        <route>
-            <from uri="direct:removeUserFromGroup"/>
-            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=removeUserFromGroup"/>
-            <to uri="mock:result"/>
-        </route>
-    </camelContext>
-    
-    <bean id="amazonIAMClient" class="org.apache.camel.component.aws.iam.AmazonIAMClientMock"/>
-</beans>
\ No newline at end of file
diff --git a/components/pom.xml b/components/pom.xml
index d6ac25f..8a3c9e9 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -112,7 +112,6 @@
         <module>camel-aws-ec2</module>
         <module>camel-aws-ecs</module>
         <module>camel-aws-eks</module>
-        <module>camel-aws-iam</module>
         <module>camel-aws-s3</module>
         <module>camel-aws-swf</module>
         <module>camel-aws2-athena</module>


[camel] 04/05: CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM

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 4c4d56eb236992c662ae362359b901050a14ccb5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Feb 23 07:57:13 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
---
 .../org/apache/camel/catalog/components.properties |   1 -
 .../apache/camel/catalog/components/aws-iam.json   |  52 ------
 .../org/apache/camel/catalog/docs.properties       |   1 -
 .../camel/catalog/docs/aws-iam-component.adoc      | 187 --------------------
 .../component/ComponentsBuilderFactory.java        |   2 +-
 .../src/generated/resources/metadata.json          |  23 ---
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 -
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |   2 +-
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../modules/ROOT/pages/aws-iam-component.adoc      | 189 ---------------------
 11 files changed, 2 insertions(+), 458 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 65351c9..51d6ba7 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
@@ -24,7 +24,6 @@ aws-ddbstream
 aws-ec2
 aws-ecs
 aws-eks
-aws-iam
 aws-s3
 aws-swf
 aws2-athena
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-iam.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-iam.json
deleted file mode 100644
index 4acf39f..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-iam.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-iam",
-    "title": "AWS Identity and Access Management (IAM)",
-    "description": "Manage AWS IAM instances.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.23.0",
-    "label": "cloud,management",
-    "javaType": "org.apache.camel.component.aws.iam.IAMComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-iam",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-iam",
-    "extendsScheme": "",
-    "syntax": "aws-iam: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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.iam.IAMConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
-    "iamClient": { "kind": "property", "displayName": "Iam Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.identitymanagement.AmazonIdentityManagement", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.iam.IAMConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS IAM as client" },
-    "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.iam.IAMOperations", "enum": [ "listAccessKeys", "createUser", "deleteUser", "getUser", "listUsers", "createAccessKey", "deleteAccessKey", "updateAccessKey", "createGroup", "deleteGroup", "listGroups", "addUserToGroup", "removeUserFromGroup" ], "deprecated": false, "deprecationNote": "", "autowired": fa [...]
-    "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region  [...]
-    "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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "iamClient": { "kind": "parameter", "displayName": "Iam Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.identitymanagement.AmazonIdentityManagement", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.iam.IAMConfiguration", "configurationField": "configuration", "description": "To use a existing configured AWS IAM 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.iam.IAMOperations", "enum": [ "listAccessKeys", "createUser", "deleteUser", "getUser", "listUsers", "createAccessKey", "deleteAccessKey", "updateAccessKey", "createGroup", "deleteGroup", "listGroups", "addUserToGroup", "removeUserFromGroup" ], "deprecated": false, "deprecationNote": "", "autowired": f [...]
-    "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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the IAM 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.iam.IAMConfiguration", "configurationField": "configuration", "description": "The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized 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.iam.IAMConfiguration", "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 958cfc8..d245711 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
@@ -28,7 +28,6 @@ aws-ddbstream-component
 aws-ec2-component
 aws-ecs-component
 aws-eks-component
-aws-iam-component
 aws-s3-component
 aws-summary
 aws-swf-component
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-iam-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-iam-component.adoc
deleted file mode 100644
index 4c897e1..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-iam-component.adoc
+++ /dev/null
@@ -1,187 +0,0 @@
-[[aws-iam-component]]
-= AWS Identity and Access Management (IAM) Component (deprecated)
-:docTitle: AWS Identity and Access Management (IAM)
-:artifactId: camel-aws-iam
-:description: Manage AWS IAM instances.
-:since: 2.23
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-iam.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The KMS component supports create, run, start, stop and terminate
-https://aws.amazon.com/iam/[AWS IAM] instances.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon IAM. More information is available at
-https://aws.amazon.com/iam/[Amazon IAM].
-
-== URI Format
-
-[source,java]
--------------------------
-aws-iam://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 Identity and Access Management (IAM) 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
-| *configuration* (producer) | The component configuration |  | IAMConfiguration
-| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentityManagement
-| *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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAMOperations
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | 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 Identity and Access Management (IAM) endpoint is configured using URI syntax:
-
-----
-aws-iam: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
-| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentityManagement
-| *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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAMOperations
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required IAM component options
-
-You have to provide the amazonKmsClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/iam/[Amazon IAM] service.
-
-== Usage
-
-=== Message headers evaluated by the IAM producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsIAMOperation` |`String` |The operation we want to perform
-
-|`CamelAwsIAMUsername` |`String` |The username for the user you want to manage
-
-|`CamelAwsIAMAccessKeyID` |`String` |The accessKey you want to manage
-
-|`CamelAwsIAMAccessKeyStatus` |`String` |The Status of the AccessKey you want to set, possible value are active and inactive
-
-|`CamelAwsIAMGroupName` |`String` |The name of an AWS IAM Group
-
-|`CamelAwsIAMGroupPath` |`String` |The path of an AWS IAM Group
-|=======================================================================
-
-=== IAM Producer operations
-
-Camel-AWS IAM component provides the following operation on the producer side:
-
-- listAccessKeys
-- createUser
-- deleteUser
-- listUsers
-- getUser
-- createAccessKey
-- deleteAccessKey
-- updateAccessKey
-- createGroup
-- deleteGroup
-- listGroups
-- addUserToGroup
-- removeUserFromGroup
-
-== Producer Examples
-
-- createUser: this operation will create a user in IAM
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:createUser")
-    .setHeader(IAMConstants.GROUP_NAME, constant("camel"))
-    .to("aws-iam://test?iamClient=#amazonIAMClient&operation=createUser")
---------------------------------------------------------------------------------
-
-== Automatic detection of AmazonIdentityManagement client in registry
-
-The component is capable of detecting the presence of an AmazonIdentityManagement 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-iam</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-iam-starter.adoc[]
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 3e7327b..a99abbb 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
@@ -4778,4 +4778,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 7682df4..ef3fba2 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -1044,29 +1044,6 @@
     "producerOnly": true,
     "lenientProperties": false
   },
-  "AwsIamComponentBuilderFactory": {
-    "kind": "component",
-    "name": "aws-iam",
-    "title": "AWS Identity and Access Management (IAM)",
-    "description": "Manage AWS IAM instances.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.23.0",
-    "label": "cloud,management",
-    "javaType": "org.apache.camel.component.aws.iam.IAMComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-iam",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-iam",
-    "extendsScheme": "",
-    "syntax": "aws-iam: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 3a915eb..d7981ac 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
@@ -167,7 +167,6 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.HdfsEndpointBuilderFactory.HdfsBuilders,
             org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.HttpBuilders,
             org.apache.camel.builder.endpoint.dsl.IAM2EndpointBuilderFactory.IAM2Builders,
-            org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory.IAMBuilders,
             org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory.IOTABuilders,
             org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory.IPFSBuilders,
             org.apache.camel.builder.endpoint.dsl.IgniteCacheEndpointBuilderFactory.IgniteCacheBuilders,
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 fff12ef..9f05477 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
@@ -164,7 +164,6 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.HdfsEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.IAM2EndpointBuilderFactory,
-            org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.IgniteCacheEndpointBuilderFactory,
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 33aa950..f3ddee9 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
@@ -16757,4 +16757,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
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index 55fe744..0bf1578e 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -28,7 +28,6 @@
 *** xref:aws-ec2-component.adoc[AWS Elastic Compute Cloud (EC2)]
 *** xref:aws-ecs-component.adoc[AWS Elastic Container Service (ECS)]
 *** xref:aws-eks-component.adoc[AWS Elastic Kubernetes Service (EKS)]
-*** xref:aws-iam-component.adoc[AWS Identity and Access Management (IAM)]
 *** 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-iam-component.adoc b/docs/components/modules/ROOT/pages/aws-iam-component.adoc
deleted file mode 100644
index 295d1c9..0000000
--- a/docs/components/modules/ROOT/pages/aws-iam-component.adoc
+++ /dev/null
@@ -1,189 +0,0 @@
-[[aws-iam-component]]
-= AWS Identity and Access Management (IAM) Component (deprecated)
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
-:docTitle: AWS Identity and Access Management (IAM)
-:artifactId: camel-aws-iam
-:description: Manage AWS IAM instances.
-:since: 2.23
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-iam.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The KMS component supports create, run, start, stop and terminate
-https://aws.amazon.com/iam/[AWS IAM] instances.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon IAM. More information is available at
-https://aws.amazon.com/iam/[Amazon IAM].
-
-== URI Format
-
-[source,java]
--------------------------
-aws-iam://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 Identity and Access Management (IAM) 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
-| *configuration* (producer) | The component configuration |  | IAMConfiguration
-| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentityManagement
-| *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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAMOperations
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | 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 Identity and Access Management (IAM) endpoint is configured using URI syntax:
-
-----
-aws-iam: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
-| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentityManagement
-| *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. There are 13 enums and the value can be one of: listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup |  | IAMOperations
-| *proxyHost* (producer) | To define a proxy host when instantiating the IAM client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the IAM client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the IAM client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which IAM client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required IAM component options
-
-You have to provide the amazonKmsClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/iam/[Amazon IAM] service.
-
-== Usage
-
-=== Message headers evaluated by the IAM producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsIAMOperation` |`String` |The operation we want to perform
-
-|`CamelAwsIAMUsername` |`String` |The username for the user you want to manage
-
-|`CamelAwsIAMAccessKeyID` |`String` |The accessKey you want to manage
-
-|`CamelAwsIAMAccessKeyStatus` |`String` |The Status of the AccessKey you want to set, possible value are active and inactive
-
-|`CamelAwsIAMGroupName` |`String` |The name of an AWS IAM Group
-
-|`CamelAwsIAMGroupPath` |`String` |The path of an AWS IAM Group
-|=======================================================================
-
-=== IAM Producer operations
-
-Camel-AWS IAM component provides the following operation on the producer side:
-
-- listAccessKeys
-- createUser
-- deleteUser
-- listUsers
-- getUser
-- createAccessKey
-- deleteAccessKey
-- updateAccessKey
-- createGroup
-- deleteGroup
-- listGroups
-- addUserToGroup
-- removeUserFromGroup
-
-== Producer Examples
-
-- createUser: this operation will create a user in IAM
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:createUser")
-    .setHeader(IAMConstants.GROUP_NAME, constant("camel"))
-    .to("aws-iam://test?iamClient=#amazonIAMClient&operation=createUser")
---------------------------------------------------------------------------------
-
-== Automatic detection of AmazonIdentityManagement client in registry
-
-The component is capable of detecting the presence of an AmazonIdentityManagement 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-iam</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-iam-starter.adoc[]


[camel] 03/05: CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM

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 7ade296134ebe8e954c8f26d3f0a9740e0f5bca3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Feb 23 07:51:47 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-IAM
---
 .../component/ComponentsBuilderFactory.java        |  16 +-
 .../dsl/AwsIamComponentBuilderFactory.java         | 292 ----------------
 .../builder/endpoint/StaticEndpointBuilders.java   |  47 +--
 .../endpoint/dsl/IAMEndpointBuilderFactory.java    | 385 ---------------------
 4 files changed, 2 insertions(+), 738 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 a0c0db6..3e7327b 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
@@ -390,20 +390,6 @@ public interface ComponentsBuilderFactory {
         return org.apache.camel.builder.component.dsl.AwsEksComponentBuilderFactory.awsEks();
     }
     /**
-     * AWS Identity and Access Management (IAM) (camel-aws-iam)
-     * Manage AWS IAM instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-aws-iam
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static org.apache.camel.builder.component.dsl.AwsIamComponentBuilderFactory.AwsIamComponentBuilder awsIam() {
-        return org.apache.camel.builder.component.dsl.AwsIamComponentBuilderFactory.awsIam();
-    }
-    /**
      * AWS S3 Storage Service (camel-aws-s3)
      * Store and retrieve objects from AWS S3 Storage Service.
      * 
@@ -4792,4 +4778,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/AwsIamComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsIamComponentBuilderFactory.java
deleted file mode 100644
index a5fb609..0000000
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsIamComponentBuilderFactory.java
+++ /dev/null
@@ -1,292 +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.iam.IAMComponent;
-
-/**
- * Manage AWS IAM instances.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface AwsIamComponentBuilderFactory {
-
-    /**
-     * AWS Identity and Access Management (IAM) (camel-aws-iam)
-     * Manage AWS IAM instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-aws-iam
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static AwsIamComponentBuilder awsIam() {
-        return new AwsIamComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the AWS Identity and Access Management (IAM) component.
-     */
-    interface AwsIamComponentBuilder extends ComponentBuilder<IAMComponent> {
-        /**
-         * 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 AwsIamComponentBuilder 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 AwsIamComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * The component configuration.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.iam.IAMConfiguration&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param configuration the value to set
-         * @return the dsl builder
-         */
-        default AwsIamComponentBuilder configuration(
-                org.apache.camel.component.aws.iam.IAMConfiguration configuration) {
-            doSetProperty("configuration", configuration);
-            return this;
-        }
-        /**
-         * To use a existing configured AWS IAM as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.identitymanagement.AmazonIdentityManagement&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param iamClient the value to set
-         * @return the dsl builder
-         */
-        default AwsIamComponentBuilder iamClient(
-                com.amazonaws.services.identitymanagement.AmazonIdentityManagement iamClient) {
-            doSetProperty("iamClient", iamClient);
-            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 AwsIamComponentBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * The operation to perform.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.iam.IAMOperations&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default AwsIamComponentBuilder operation(
-                org.apache.camel.component.aws.iam.IAMOperations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the IAM 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 AwsIamComponentBuilder proxyHost(java.lang.String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the IAM 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 AwsIamComponentBuilder proxyPort(java.lang.Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the IAM 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 AwsIamComponentBuilder proxyProtocol(
-                com.amazonaws.Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * The region in which IAM client needs to work. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * 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 AwsIamComponentBuilder 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 AwsIamComponentBuilder 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 AwsIamComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-    }
-
-    class AwsIamComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<IAMComponent>
-            implements
-                AwsIamComponentBuilder {
-        @Override
-        protected IAMComponent buildConcreteComponent() {
-            return new IAMComponent();
-        }
-        private org.apache.camel.component.aws.iam.IAMConfiguration getOrCreateConfiguration(
-                org.apache.camel.component.aws.iam.IAMComponent component) {
-            if (component.getConfiguration() == null) {
-                component.setConfiguration(new org.apache.camel.component.aws.iam.IAMConfiguration());
-            }
-            return component.getConfiguration();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "autoDiscoverClient": getOrCreateConfiguration((IAMComponent) component).setAutoDiscoverClient((boolean) value); return true;
-            case "accessKey": getOrCreateConfiguration((IAMComponent) component).setAccessKey((java.lang.String) value); return true;
-            case "configuration": ((IAMComponent) component).setConfiguration((org.apache.camel.component.aws.iam.IAMConfiguration) value); return true;
-            case "iamClient": getOrCreateConfiguration((IAMComponent) component).setIamClient((com.amazonaws.services.identitymanagement.AmazonIdentityManagement) value); return true;
-            case "lazyStartProducer": ((IAMComponent) component).setLazyStartProducer((boolean) value); return true;
-            case "operation": getOrCreateConfiguration((IAMComponent) component).setOperation((org.apache.camel.component.aws.iam.IAMOperations) value); return true;
-            case "proxyHost": getOrCreateConfiguration((IAMComponent) component).setProxyHost((java.lang.String) value); return true;
-            case "proxyPort": getOrCreateConfiguration((IAMComponent) component).setProxyPort((java.lang.Integer) value); return true;
-            case "proxyProtocol": getOrCreateConfiguration((IAMComponent) component).setProxyProtocol((com.amazonaws.Protocol) value); return true;
-            case "region": getOrCreateConfiguration((IAMComponent) component).setRegion((java.lang.String) value); return true;
-            case "secretKey": getOrCreateConfiguration((IAMComponent) component).setSecretKey((java.lang.String) value); return true;
-            case "autowiredEnabled": ((IAMComponent) 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 762cf14..33aa950 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
@@ -2102,51 +2102,6 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.EKSEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
-     * AWS Identity and Access Management (IAM) (camel-aws-iam)
-     * Manage AWS IAM instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-aws-iam
-     * 
-     * Syntax: <code>aws-iam:label</code>
-     * 
-     * Path parameter: label (required)
-     * Logical name
-     * 
-     * @param path label
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory.IAMEndpointBuilder awsIam(
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory.endpointBuilder("aws-iam", path);
-    }
-    /**
-     * AWS Identity and Access Management (IAM) (camel-aws-iam)
-     * Manage AWS IAM instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-aws-iam
-     * 
-     * Syntax: <code>aws-iam: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.IAMEndpointBuilderFactory.IAMEndpointBuilder awsIam(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.IAMEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * AWS S3 Storage Service (camel-aws-s3)
      * Store and retrieve objects from AWS S3 Storage Service.
      * 
@@ -16802,4 +16757,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/IAMEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java
deleted file mode 100644
index f1b75bd..0000000
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IAMEndpointBuilderFactory.java
+++ /dev/null
@@ -1,385 +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 IAM instances.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface IAMEndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint for the AWS Identity and Access Management (IAM)
-     * component.
-     */
-    public interface IAMEndpointBuilder 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 IAMEndpointBuilder 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 IAMEndpointBuilder 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 IAMEndpointBuilder accessKey(String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * To use a existing configured AWS IAM as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.identitymanagement.AmazonIdentityManagement&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param iamClient the value to set
-         * @return the dsl builder
-         */
-        default IAMEndpointBuilder iamClient(Object iamClient) {
-            doSetProperty("iamClient", iamClient);
-            return this;
-        }
-        /**
-         * To use a existing configured AWS IAM as client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.services.identitymanagement.AmazonIdentityManagement&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param iamClient the value to set
-         * @return the dsl builder
-         */
-        default IAMEndpointBuilder iamClient(String iamClient) {
-            doSetProperty("iamClient", iamClient);
-            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 IAMEndpointBuilder 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 IAMEndpointBuilder lazyStartProducer(String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * The operation to perform.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.iam.IAMOperations&lt;/code&gt; type.
-         * 
-         * Required: true
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default IAMEndpointBuilder operation(IAMOperations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * The operation to perform.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.component.aws.iam.IAMOperations&lt;/code&gt; type.
-         * 
-         * Required: true
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default IAMEndpointBuilder operation(String operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the IAM 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 IAMEndpointBuilder proxyHost(String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the IAM 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 IAMEndpointBuilder proxyPort(Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the IAM 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 IAMEndpointBuilder proxyPort(String proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the IAM 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 IAMEndpointBuilder proxyProtocol(Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the IAM 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 IAMEndpointBuilder proxyProtocol(String proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * The region in which IAM client needs to work. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * 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 IAMEndpointBuilder 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 IAMEndpointBuilder secretKey(String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    /**
-     * Proxy enum for
-     * <code>org.apache.camel.component.aws.iam.IAMOperations</code> enum.
-     */
-    enum IAMOperations {
-        listAccessKeys,
-        createUser,
-        deleteUser,
-        getUser,
-        listUsers,
-        createAccessKey,
-        deleteAccessKey,
-        updateAccessKey,
-        createGroup,
-        deleteGroup,
-        listGroups,
-        addUserToGroup,
-        removeUserFromGroup;
-    }
-
-    /**
-     * Proxy enum for <code>com.amazonaws.Protocol</code> enum.
-     */
-    enum Protocol {
-        HTTP,
-        HTTPS;
-    }
-
-    public interface IAMBuilders {
-        /**
-         * AWS Identity and Access Management (IAM) (camel-aws-iam)
-         * Manage AWS IAM instances.
-         * 
-         * Category: cloud,management
-         * Since: 2.23
-         * Maven coordinates: org.apache.camel:camel-aws-iam
-         * 
-         * Syntax: <code>aws-iam:label</code>
-         * 
-         * Path parameter: label (required)
-         * Logical name
-         * 
-         * @param path label
-         * @return the dsl builder
-         */
-        @Deprecated
-        default IAMEndpointBuilder awsIam(String path) {
-            return IAMEndpointBuilderFactory.endpointBuilder("aws-iam", path);
-        }
-        /**
-         * AWS Identity and Access Management (IAM) (camel-aws-iam)
-         * Manage AWS IAM instances.
-         * 
-         * Category: cloud,management
-         * Since: 2.23
-         * Maven coordinates: org.apache.camel:camel-aws-iam
-         * 
-         * Syntax: <code>aws-iam: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 IAMEndpointBuilder awsIam(String componentName, String path) {
-            return IAMEndpointBuilderFactory.endpointBuilder(componentName, path);
-        }
-    }
-    @Deprecated
-    static IAMEndpointBuilder endpointBuilder(String componentName, String path) {
-        class IAMEndpointBuilderImpl extends AbstractEndpointBuilder implements IAMEndpointBuilder {
-            public IAMEndpointBuilderImpl(String path) {
-                super(componentName, path);
-            }
-        }
-        return new IAMEndpointBuilderImpl(path);
-    }
-}
\ No newline at end of file