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/22 13:16:24 UTC

[camel] branch master updated (607dff0 -> 1d82c77)

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 607dff0  CAMEL-16115 - Remove Camel-AWS-* components - AWS-MQ - Added migration note
     new ee7fa0d  CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda
     new eafe722  CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda
     new 1d82c77  CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda

The 3 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 -
 .../camel/catalog/components/aws-lambda.json       |  52 --
 .../org/apache/camel/catalog/docs.properties       |   1 -
 .../camel/catalog/docs/aws-lambda-component.adoc   | 242 -------
 components/camel-aws-lambda/pom.xml                |  77 ---
 .../aws/lambda/LambdaComponentConfigurer.java      | 113 ----
 .../aws/lambda/LambdaEndpointConfigurer.java       |  97 ---
 .../aws/lambda/LambdaEndpointUriFactory.java       |  74 ---
 .../services/org/apache/camel/component.properties |   7 -
 .../services/org/apache/camel/component/aws-lambda |   2 -
 .../apache/camel/configurer/aws-lambda-component   |   2 -
 .../apache/camel/configurer/aws-lambda-endpoint    |   2 -
 .../apache/camel/urifactory/aws-lambda-endpoint    |   2 -
 .../camel/component/aws/lambda/aws-lambda.json     |  52 --
 .../src/main/docs/aws-lambda-component.adoc        | 242 -------
 .../component/aws/lambda/LambdaComponent.java      |  79 ---
 .../lambda/LambdaComponentVerifierExtension.java   |  91 ---
 .../component/aws/lambda/LambdaConfiguration.java  | 160 -----
 .../component/aws/lambda/LambdaConstants.java      |  57 --
 .../camel/component/aws/lambda/LambdaEndpoint.java | 127 ----
 .../component/aws/lambda/LambdaOperations.java     |  39 --
 .../camel/component/aws/lambda/LambdaProducer.java | 695 ---------------------
 .../aws/lambda/AmazonLambdaClientMock.java         | 415 ------------
 .../lambda/LambdaComponentClientRegistryTest.java  |  76 ---
 .../lambda/LambdaComponentConfigurationTest.java   | 124 ----
 .../aws/lambda/LambdaComponentSpringTest.java      | 343 ----------
 .../LambdaComponentVerifierExtensionTest.java      |  76 ---
 .../component/aws/lambda/LambdaOperationsTest.java |  73 ---
 .../lambda/LambdaProducerDefaultFunctionTest.java  |  66 --
 .../component/aws/lambda/LambdaProducerTest.java   | 461 --------------
 .../LambdaComponentIntegrationTest.java            | 144 -----
 .../src/test/resources/log4j2.properties           |  28 -
 .../lambda/LambdaComponentSpringTest-context.xml   | 115 ----
 .../aws/lambda/function/node/GetHelloWithName.js   |  21 -
 .../aws/lambda/function/node/GetHelloWithName.zip  | Bin 320 -> 0 bytes
 components/pom.xml                                 |   1 -
 core/camel-allcomponents/pom.xml                   |   4 -
 .../component/ComponentsBuilderFactory.java        |  14 -
 .../dsl/AwsLambdaComponentBuilderFactory.java      | 297 ---------
 .../src/generated/resources/metadata.json          |  23 -
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 -
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |  45 --
 .../endpoint/dsl/LambdaEndpointBuilderFactory.java | 415 ------------
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../modules/ROOT/pages/aws-lambda-component.adoc   | 244 --------
 parent/pom.xml                                     |   5 -
 48 files changed, 5212 deletions(-)
 delete mode 100644 catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-lambda.json
 delete mode 100644 catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-lambda-component.adoc
 delete mode 100644 components/camel-aws-lambda/pom.xml
 delete mode 100644 components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurer.java
 delete mode 100644 components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointConfigurer.java
 delete mode 100644 components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointUriFactory.java
 delete mode 100644 components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 delete mode 100644 components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/component/aws-lambda
 delete mode 100644 components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-component
 delete mode 100644 components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-endpoint
 delete mode 100644 components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-lambda-endpoint
 delete mode 100644 components/camel-aws-lambda/src/generated/resources/org/apache/camel/component/aws/lambda/aws-lambda.json
 delete mode 100644 components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtension.java
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConstants.java
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaOperations.java
 delete mode 100644 components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/AmazonLambdaClientMock.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentClientRegistryTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtensionTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaOperationsTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerDefaultFunctionTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java
 delete mode 100644 components/camel-aws-lambda/src/test/resources/log4j2.properties
 delete mode 100644 components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest-context.xml
 delete mode 100644 components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.js
 delete mode 100644 components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip
 delete mode 100644 core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsLambdaComponentBuilderFactory.java
 delete mode 100644 core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LambdaEndpointBuilderFactory.java
 delete mode 100644 docs/components/modules/ROOT/pages/aws-lambda-component.adoc


[camel] 02/03: CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda

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 eafe7224c48408e9681949e4f0133f929418b9b0
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Feb 22 13:53:13 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda
---
 .../component/ComponentsBuilderFactory.java        |  16 +-
 .../dsl/AwsLambdaComponentBuilderFactory.java      | 297 ---------------
 .../builder/endpoint/StaticEndpointBuilders.java   |  47 +--
 .../endpoint/dsl/LambdaEndpointBuilderFactory.java | 415 ---------------------
 4 files changed, 2 insertions(+), 773 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 535e569..967e024 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
@@ -446,20 +446,6 @@ public interface ComponentsBuilderFactory {
         return org.apache.camel.builder.component.dsl.AwsKmsComponentBuilderFactory.awsKms();
     }
     /**
-     * AWS Lambda (camel-aws-lambda)
-     * Manage and invoke AWS Lambda functions.
-     * 
-     * Category: cloud,computing,serverless
-     * Since: 2.20
-     * Maven coordinates: org.apache.camel:camel-aws-lambda
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static org.apache.camel.builder.component.dsl.AwsLambdaComponentBuilderFactory.AwsLambdaComponentBuilder awsLambda() {
-        return org.apache.camel.builder.component.dsl.AwsLambdaComponentBuilderFactory.awsLambda();
-    }
-    /**
      * AWS S3 Storage Service (camel-aws-s3)
      * Store and retrieve objects from AWS S3 Storage Service.
      * 
@@ -4848,4 +4834,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/AwsLambdaComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsLambdaComponentBuilderFactory.java
deleted file mode 100644
index e42ae9a..0000000
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsLambdaComponentBuilderFactory.java
+++ /dev/null
@@ -1,297 +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.lambda.LambdaComponent;
-
-/**
- * Manage and invoke AWS Lambda functions.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface AwsLambdaComponentBuilderFactory {
-
-    /**
-     * AWS Lambda (camel-aws-lambda)
-     * Manage and invoke AWS Lambda functions.
-     * 
-     * Category: cloud,computing,serverless
-     * Since: 2.20
-     * Maven coordinates: org.apache.camel:camel-aws-lambda
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static AwsLambdaComponentBuilder awsLambda() {
-        return new AwsLambdaComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the AWS Lambda component.
-     */
-    interface AwsLambdaComponentBuilder
-            extends
-                ComponentBuilder<LambdaComponent> {
-        /**
-         * 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 AwsLambdaComponentBuilder autoDiscoverClient(
-                boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * The AWS Lambda default configuration.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.lambda.LambdaConfiguration&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param configuration the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder configuration(
-                org.apache.camel.component.aws.lambda.LambdaConfiguration configuration) {
-            doSetProperty("configuration", configuration);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * The operation to perform. It can be listFunctions, getFunction,
-         * createFunction, deleteFunction or invokeFunction.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.lambda.LambdaOperations&lt;/code&gt; type.
-         * 
-         * Default: invokeFunction
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder operation(
-                org.apache.camel.component.aws.lambda.LambdaOperations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * Amazon AWS Region. 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 AwsLambdaComponentBuilder region(java.lang.String region) {
-            doSetProperty("region", region);
-            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 AwsLambdaComponentBuilder autowiredEnabled(
-                boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-        /**
-         * To use a existing configured AwsLambdaClient as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.lambda.AWSLambda&lt;/code&gt;
-         * type.
-         * 
-         * Group: advanced
-         * 
-         * @param awsLambdaClient the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder awsLambdaClient(
-                com.amazonaws.services.lambda.AWSLambda awsLambdaClient) {
-            doSetProperty("awsLambdaClient", awsLambdaClient);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the Lambda client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder proxyHost(java.lang.String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the Lambda client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder proxyPort(java.lang.Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the Lambda client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: proxy
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder proxyProtocol(
-                com.amazonaws.Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default AwsLambdaComponentBuilder secretKey(java.lang.String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    class AwsLambdaComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<LambdaComponent>
-            implements
-                AwsLambdaComponentBuilder {
-        @Override
-        protected LambdaComponent buildConcreteComponent() {
-            return new LambdaComponent();
-        }
-        private org.apache.camel.component.aws.lambda.LambdaConfiguration getOrCreateConfiguration(
-                org.apache.camel.component.aws.lambda.LambdaComponent component) {
-            if (component.getConfiguration() == null) {
-                component.setConfiguration(new org.apache.camel.component.aws.lambda.LambdaConfiguration());
-            }
-            return component.getConfiguration();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "autoDiscoverClient": getOrCreateConfiguration((LambdaComponent) component).setAutoDiscoverClient((boolean) value); return true;
-            case "configuration": ((LambdaComponent) component).setConfiguration((org.apache.camel.component.aws.lambda.LambdaConfiguration) value); return true;
-            case "lazyStartProducer": ((LambdaComponent) component).setLazyStartProducer((boolean) value); return true;
-            case "operation": getOrCreateConfiguration((LambdaComponent) component).setOperation((org.apache.camel.component.aws.lambda.LambdaOperations) value); return true;
-            case "region": getOrCreateConfiguration((LambdaComponent) component).setRegion((java.lang.String) value); return true;
-            case "autowiredEnabled": ((LambdaComponent) component).setAutowiredEnabled((boolean) value); return true;
-            case "awsLambdaClient": getOrCreateConfiguration((LambdaComponent) component).setAwsLambdaClient((com.amazonaws.services.lambda.AWSLambda) value); return true;
-            case "proxyHost": getOrCreateConfiguration((LambdaComponent) component).setProxyHost((java.lang.String) value); return true;
-            case "proxyPort": getOrCreateConfiguration((LambdaComponent) component).setProxyPort((java.lang.Integer) value); return true;
-            case "proxyProtocol": getOrCreateConfiguration((LambdaComponent) component).setProxyProtocol((com.amazonaws.Protocol) value); return true;
-            case "accessKey": getOrCreateConfiguration((LambdaComponent) component).setAccessKey((java.lang.String) value); return true;
-            case "secretKey": getOrCreateConfiguration((LambdaComponent) component).setSecretKey((java.lang.String) 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 a6b3882..c52fd08 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
@@ -2282,51 +2282,6 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.KMSEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
-     * AWS Lambda (camel-aws-lambda)
-     * Manage and invoke AWS Lambda functions.
-     * 
-     * Category: cloud,computing,serverless
-     * Since: 2.20
-     * Maven coordinates: org.apache.camel:camel-aws-lambda
-     * 
-     * Syntax: <code>aws-lambda:function</code>
-     * 
-     * Path parameter: function (required)
-     * Name of the Lambda function.
-     * 
-     * @param path function
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.LambdaEndpointBuilderFactory.LambdaEndpointBuilder awsLambda(
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.LambdaEndpointBuilderFactory.endpointBuilder("aws-lambda", path);
-    }
-    /**
-     * AWS Lambda (camel-aws-lambda)
-     * Manage and invoke AWS Lambda functions.
-     * 
-     * Category: cloud,computing,serverless
-     * Since: 2.20
-     * Maven coordinates: org.apache.camel:camel-aws-lambda
-     * 
-     * Syntax: <code>aws-lambda:function</code>
-     * 
-     * Path parameter: function (required)
-     * Name of the Lambda function.
-     * 
-     * @param componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path function
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.LambdaEndpointBuilderFactory.LambdaEndpointBuilder awsLambda(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.LambdaEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * AWS S3 Storage Service (camel-aws-s3)
      * Store and retrieve objects from AWS S3 Storage Service.
      * 
@@ -16982,4 +16937,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/LambdaEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LambdaEndpointBuilderFactory.java
deleted file mode 100644
index cb6a193..0000000
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LambdaEndpointBuilderFactory.java
+++ /dev/null
@@ -1,415 +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 and invoke AWS Lambda functions.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface LambdaEndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint for the AWS Lambda component.
-     */
-    public interface LambdaEndpointBuilder extends EndpointProducerBuilder {
-        default AdvancedLambdaEndpointBuilder advanced() {
-            return (AdvancedLambdaEndpointBuilder) 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 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 LambdaEndpointBuilder 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 LambdaEndpointBuilder autoDiscoverClient(
-                String autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            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 LambdaEndpointBuilder 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 LambdaEndpointBuilder lazyStartProducer(String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * The operation to perform. It can be listFunctions, getFunction,
-         * createFunction, deleteFunction or invokeFunction.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.lambda.LambdaOperations&lt;/code&gt; type.
-         * 
-         * Default: invokeFunction
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder operation(LambdaOperations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * The operation to perform. It can be listFunctions, getFunction,
-         * createFunction, deleteFunction or invokeFunction.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.component.aws.lambda.LambdaOperations&lt;/code&gt; type.
-         * 
-         * Default: invokeFunction
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder operation(String operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * Amazon AWS Region. 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 LambdaEndpointBuilder region(String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the Lambda client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder proxyHost(String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the Lambda client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder proxyPort(Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the Lambda client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: proxy
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder proxyPort(String proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the Lambda client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: proxy
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder proxyProtocol(Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the Lambda client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt; type.
-         * 
-         * Default: HTTPS
-         * Group: proxy
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder proxyProtocol(String proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder accessKey(String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default LambdaEndpointBuilder secretKey(String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint for the AWS Lambda component.
-     */
-    public interface AdvancedLambdaEndpointBuilder
-            extends
-                EndpointProducerBuilder {
-        default LambdaEndpointBuilder basic() {
-            return (LambdaEndpointBuilder) this;
-        }
-        /**
-         * To use a existing configured AwsLambdaClient as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.lambda.AWSLambda&lt;/code&gt;
-         * type.
-         * 
-         * Group: advanced
-         * 
-         * @param awsLambdaClient the value to set
-         * @return the dsl builder
-         */
-        default AdvancedLambdaEndpointBuilder awsLambdaClient(
-                Object awsLambdaClient) {
-            doSetProperty("awsLambdaClient", awsLambdaClient);
-            return this;
-        }
-        /**
-         * To use a existing configured AwsLambdaClient as client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.services.lambda.AWSLambda&lt;/code&gt;
-         * type.
-         * 
-         * Group: advanced
-         * 
-         * @param awsLambdaClient the value to set
-         * @return the dsl builder
-         */
-        default AdvancedLambdaEndpointBuilder awsLambdaClient(
-                String awsLambdaClient) {
-            doSetProperty("awsLambdaClient", awsLambdaClient);
-            return this;
-        }
-    }
-
-    /**
-     * Proxy enum for
-     * <code>org.apache.camel.component.aws.lambda.LambdaOperations</code> enum.
-     */
-    enum LambdaOperations {
-        listFunctions,
-        getFunction,
-        createAlias,
-        deleteAlias,
-        getAlias,
-        listAliases,
-        createFunction,
-        deleteFunction,
-        invokeFunction,
-        updateFunction,
-        createEventSourceMapping,
-        deleteEventSourceMapping,
-        listEventSourceMapping,
-        listTags,
-        tagResource,
-        untagResource,
-        publishVersion,
-        listVersions;
-    }
-
-    /**
-     * Proxy enum for <code>com.amazonaws.Protocol</code> enum.
-     */
-    enum Protocol {
-        HTTP,
-        HTTPS;
-    }
-
-    public interface LambdaBuilders {
-        /**
-         * AWS Lambda (camel-aws-lambda)
-         * Manage and invoke AWS Lambda functions.
-         * 
-         * Category: cloud,computing,serverless
-         * Since: 2.20
-         * Maven coordinates: org.apache.camel:camel-aws-lambda
-         * 
-         * Syntax: <code>aws-lambda:function</code>
-         * 
-         * Path parameter: function (required)
-         * Name of the Lambda function.
-         * 
-         * @param path function
-         * @return the dsl builder
-         */
-        @Deprecated
-        default LambdaEndpointBuilder awsLambda(String path) {
-            return LambdaEndpointBuilderFactory.endpointBuilder("aws-lambda", path);
-        }
-        /**
-         * AWS Lambda (camel-aws-lambda)
-         * Manage and invoke AWS Lambda functions.
-         * 
-         * Category: cloud,computing,serverless
-         * Since: 2.20
-         * Maven coordinates: org.apache.camel:camel-aws-lambda
-         * 
-         * Syntax: <code>aws-lambda:function</code>
-         * 
-         * Path parameter: function (required)
-         * Name of the Lambda function.
-         * 
-         * @param componentName to use a custom component name for the endpoint
-         * instead of the default name
-         * @param path function
-         * @return the dsl builder
-         */
-        @Deprecated
-        default LambdaEndpointBuilder awsLambda(
-                String componentName,
-                String path) {
-            return LambdaEndpointBuilderFactory.endpointBuilder(componentName, path);
-        }
-    }
-    @Deprecated
-    static LambdaEndpointBuilder endpointBuilder(
-            String componentName,
-            String path) {
-        class LambdaEndpointBuilderImpl extends AbstractEndpointBuilder implements LambdaEndpointBuilder, AdvancedLambdaEndpointBuilder {
-            public LambdaEndpointBuilderImpl(String path) {
-                super(componentName, path);
-            }
-        }
-        return new LambdaEndpointBuilderImpl(path);
-    }
-}
\ No newline at end of file


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

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 1d82c772dc31651dd667c4bac8d52a2b1dc1f8ac
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Feb 22 14:04:33 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda
---
 .../org/apache/camel/catalog/components.properties |   1 -
 .../camel/catalog/components/aws-lambda.json       |  52 -----
 .../org/apache/camel/catalog/docs.properties       |   1 -
 .../camel/catalog/docs/aws-lambda-component.adoc   | 242 --------------------
 .../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-lambda-component.adoc   | 244 ---------------------
 11 files changed, 2 insertions(+), 568 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 2b2b08c..e8037fd 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
@@ -28,7 +28,6 @@ aws-iam
 aws-kinesis
 aws-kinesis-firehose
 aws-kms
-aws-lambda
 aws-s3
 aws-swf
 aws2-athena
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-lambda.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-lambda.json
deleted file mode 100644
index 1ebbea4..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-lambda.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-lambda",
-    "title": "AWS Lambda",
-    "description": "Manage and invoke AWS Lambda functions.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.20.0",
-    "label": "cloud,computing,serverless",
-    "javaType": "org.apache.camel.component.aws.lambda.LambdaComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-lambda",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-lambda",
-    "extendsScheme": "",
-    "syntax": "aws-lambda:function",
-    "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client  [...]
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The AWS Lambda default configuration" },
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.lambda.LambdaOperations", "enum": [ "listFunctions", "getFunction", "createAlias", "deleteAlias", "getAlias", "listAliases", "createFunction", "deleteFunction", "invokeFunction", "updateFunction", "createEventSourceMapping", "deleteEventSourceMapping", "listEventSourceMapping", "listTags", "tagResource", "unt [...]
-    "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Region. When using this parameter, the configuration will expect the capitalized name of the region (for example  [...]
-    "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 [...]
-    "awsLambdaClient": { "kind": "property", "displayName": "Aws Lambda Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.amazonaws.services.lambda.AWSLambda", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To use a existing configured AwsLambdaClient as client" },
-    "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Lambda client" },
-    "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Lambda client" },
-    "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the Lambd [...]
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  },
-  "properties": {
-    "function": { "kind": "path", "displayName": "Function", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the Lambda function." },
-    "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a 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": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.lambda.LambdaOperations", "enum": [ "listFunctions", "getFunction", "createAlias", "deleteAlias", "getAlias", "listAliases", "createFunction", "deleteFunction", "invokeFunction", "updateFunction", "createEventSourceMapping", "deleteEventSourceMapping", "listEventSourceMapping", "listTags", "tagResource", "un [...]
-    "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Region. When using this parameter, the configuration will expect the capitalized name of the region (for example [...]
-    "awsLambdaClient": { "kind": "parameter", "displayName": "Aws Lambda Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.amazonaws.services.lambda.AWSLambda", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To use a existing configured AwsLambdaClient as client" },
-    "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Lambda client" },
-    "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Lambda client" },
-    "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the Lamb [...]
-    "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "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 3f674a6..6d9d734 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
@@ -32,7 +32,6 @@ aws-iam-component
 aws-kinesis-component
 aws-kinesis-firehose-component
 aws-kms-component
-aws-lambda-component
 aws-s3-component
 aws-summary
 aws-swf-component
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-lambda-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-lambda-component.adoc
deleted file mode 100644
index 4c63836..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-lambda-component.adoc
+++ /dev/null
@@ -1,242 +0,0 @@
-[[aws-lambda-component]]
-= AWS Lambda Component (deprecated)
-:docTitle: AWS Lambda
-:artifactId: camel-aws-lambda
-:description: Manage and invoke AWS Lambda functions.
-:since: 2.20
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-lambda.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The Lambda component supports create, get, list, delete and invoke
-https://aws.amazon.com/lambda/[AWS Lambda] functions.
-
-*Prerequisites*
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon Lambda. More information is available at
-https://aws.amazon.com/lambda/[AWS Lambda].
-
-When creating a Lambda function, you need to specify a IAM role which has at least the AWSLambdaBasicExecuteRole policy attached.
-
-*Warning*
-
-Lambda is regional service. Unlike S3 bucket, Lambda function created in a given region is not available on other regions.
-
-== URI Format
-
-[source,java]
--------------------------
-aws-lambda://functionName[?options]
--------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Lambda 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
-| *configuration* (producer) | The AWS Lambda default configuration |  | LambdaConfiguration
-| *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) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *region* (producer) | Amazon AWS Region. 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
-| *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
-| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Lambda endpoint is configured using URI syntax:
-
-----
-aws-lambda:function
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *function* | *Required* Name of the Lambda function. |  | 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
-| *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) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *region* (producer) | Amazon AWS Region. 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
-| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required Lambda component options
-
-You have to provide the awsLambdaClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/lambda/[Amazon Lambda] service.
-
-== Usage
-
-=== Message headers evaluated by the Lambda producer
-
-[width="100%",cols="5%,5%,10%,75%,5%",options="header",]
-|=======================================================================
-|Operation |Header |Type |Description |Required
-
-|All |`CamelAwsLambdaOperation` |`String` |The operation we want to perform. Override operation passed as query parameter| Yes
-
-|createFunction |`CamelAwsLambdaS3Bucket` |`String` |Amazon S3 bucket name where the .zip file containing
-your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.| No
-
-|createFunction |`CamelAwsLambdaS3Key` |`String` |The Amazon S3 object (the deployment package) key name
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaS3ObjectVersion` |String |The Amazon S3 object (the deployment package) version
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaZipFile` |`String` |The local path of the zip file (the deployment package).
- Content of zip file can also be put in Message body.| No
-
-|createFunction |`CamelAwsLambdaRole` |`String` |The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
- when it executes your function to access any other Amazon Web Services (AWS) resources. |Yes
-
-|createFunction |`CamelAwsLambdaRuntime` |String |The runtime environment for the Lambda function you are uploading.
- (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge) |Yes
-
-|createFunction |`CamelAwsLambdaHandler` |`String` |The function within your code that Lambda calls to begin execution.
- For Node.js, it is the module-name.export value in your function.
- For Java, it can be package.class-name::handler or package.class-name.|Yes
-
-|createFunction |`CamelAwsLambdaDescription` |`String` |The user-provided description.|No
-
-|createFunction |`CamelAwsLambdaTargetArn` |`String` |The parent object that contains the target ARN (Amazon Resource Name)
-of an Amazon SQS queue or Amazon SNS topic.|No
-
-|createFunction |`CamelAwsLambdaMemorySize` |`Integer` |The memory size, in MB, you configured for the function.
-Must be a multiple of 64 MB.|No
-
-|createFunction |`CamelAwsLambdaKMSKeyArn` |`String` |The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.
-If not provided, AWS Lambda will use a default service key.|No
-
-|createFunction |`CamelAwsLambdaPublish` |`Boolean` |This boolean parameter can be used to request AWS Lambda
-to create the Lambda function and publish a version as an atomic operation.|No
-
-|createFunction |`CamelAwsLambdaTimeout` |`Integer` |The function execution time at which Lambda should terminate the function.
-The default is 3 seconds.|No
-
-|createFunction |`CamelAwsLambdaTracingConfig` |`String` |Your function's tracing settings (Active or PassThrough).|No
-
-|createFunction |`CamelAwsLambdaEnvironmentVariables` |`Map<String, String>` |The key-value pairs that represent your environment's configuration settings.|No
-
-|createFunction |`CamelAwsLambdaEnvironmentTags` |`Map<String, String>` |The list of tags (key-value pairs) assigned to the new function.|No
-
-|createFunction |`CamelAwsLambdaSecurityGroupIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC.|No
-
-|createFunction |`CamelAwsLambdaSubnetIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC.|No
-
-|createAlias |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionDescription` |`String` |The function description to set in the alias|No
-
-|deleteAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|getAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|listAliases |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|=======================================================================
-
-== List of Avalaible Operations
-
-- listFunctions
-- getFunction
-- createFunction
-- deleteFunction
-- invokeFunction
-- updateFunction
-- createEventSourceMapping
-- deleteEventSourceMapping
-- listEventSourceMapping
-- listTags
-- tagResource
-- untagResource
-- publishVersion
-- listVersions
-- createAlias
-- deleteAlias
-- getAlias
-- listAliases
-
-== Example
-
-To have a full understanding of how the component works, you may have a look at this https://github.com/apache/camel/blob/master/components/camel-aws/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java[integration test]
-
-== Automatic detection of AmazonLambda client in registry
-
-The component is capable of detecting the presence of an AmazonLambda 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-lambda</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-lambda-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 967e024..7ddf114 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
@@ -4834,4 +4834,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 ee9f963..13d85c1 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -1136,29 +1136,6 @@
     "producerOnly": true,
     "lenientProperties": false
   },
-  "AwsLambdaComponentBuilderFactory": {
-    "kind": "component",
-    "name": "aws-lambda",
-    "title": "AWS Lambda",
-    "description": "Manage and invoke AWS Lambda functions.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.20.0",
-    "label": "cloud,computing,serverless",
-    "javaType": "org.apache.camel.component.aws.lambda.LambdaComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-lambda",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-lambda",
-    "extendsScheme": "",
-    "syntax": "aws-lambda:function",
-    "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 ea40f64..cda35db 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
@@ -228,7 +228,6 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.KubernetesServicesEndpointBuilderFactory.KubernetesServicesBuilders,
             org.apache.camel.builder.endpoint.dsl.KuduEndpointBuilderFactory.KuduBuilders,
             org.apache.camel.builder.endpoint.dsl.Lambda2EndpointBuilderFactory.Lambda2Builders,
-            org.apache.camel.builder.endpoint.dsl.LambdaEndpointBuilderFactory.LambdaBuilders,
             org.apache.camel.builder.endpoint.dsl.LanguageEndpointBuilderFactory.LanguageBuilders,
             org.apache.camel.builder.endpoint.dsl.LdapEndpointBuilderFactory.LdapBuilders,
             org.apache.camel.builder.endpoint.dsl.LdifEndpointBuilderFactory.LdifBuilders,
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 ad21c04..3f23e9f 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
@@ -225,7 +225,6 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.KubernetesServicesEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.KuduEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.Lambda2EndpointBuilderFactory,
-            org.apache.camel.builder.endpoint.dsl.LambdaEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.LanguageEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.LdapEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.LdifEndpointBuilderFactory,
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 c52fd08..9a7b141 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
@@ -16937,4 +16937,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 96b9783..85a71a5 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -32,7 +32,6 @@
 *** xref:aws-kms-component.adoc[AWS Key Management Service (KMS)]
 *** xref:aws-kinesis-component.adoc[AWS Kinesis]
 *** xref:aws-kinesis-firehose-component.adoc[AWS Kinesis Firehose]
-*** xref:aws-lambda-component.adoc[AWS Lambda]
 *** 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-lambda-component.adoc b/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
deleted file mode 100644
index 5eb846e..0000000
--- a/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
+++ /dev/null
@@ -1,244 +0,0 @@
-[[aws-lambda-component]]
-= AWS Lambda Component (deprecated)
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
-:docTitle: AWS Lambda
-:artifactId: camel-aws-lambda
-:description: Manage and invoke AWS Lambda functions.
-:since: 2.20
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-lambda.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The Lambda component supports create, get, list, delete and invoke
-https://aws.amazon.com/lambda/[AWS Lambda] functions.
-
-*Prerequisites*
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon Lambda. More information is available at
-https://aws.amazon.com/lambda/[AWS Lambda].
-
-When creating a Lambda function, you need to specify a IAM role which has at least the AWSLambdaBasicExecuteRole policy attached.
-
-*Warning*
-
-Lambda is regional service. Unlike S3 bucket, Lambda function created in a given region is not available on other regions.
-
-== URI Format
-
-[source,java]
--------------------------
-aws-lambda://functionName[?options]
--------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Lambda 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
-| *configuration* (producer) | The AWS Lambda default configuration |  | LambdaConfiguration
-| *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) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *region* (producer) | Amazon AWS Region. 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
-| *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
-| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Lambda endpoint is configured using URI syntax:
-
-----
-aws-lambda:function
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *function* | *Required* Name of the Lambda function. |  | 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
-| *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) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *region* (producer) | Amazon AWS Region. 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
-| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required Lambda component options
-
-You have to provide the awsLambdaClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/lambda/[Amazon Lambda] service.
-
-== Usage
-
-=== Message headers evaluated by the Lambda producer
-
-[width="100%",cols="5%,5%,10%,75%,5%",options="header",]
-|=======================================================================
-|Operation |Header |Type |Description |Required
-
-|All |`CamelAwsLambdaOperation` |`String` |The operation we want to perform. Override operation passed as query parameter| Yes
-
-|createFunction |`CamelAwsLambdaS3Bucket` |`String` |Amazon S3 bucket name where the .zip file containing
-your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.| No
-
-|createFunction |`CamelAwsLambdaS3Key` |`String` |The Amazon S3 object (the deployment package) key name
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaS3ObjectVersion` |String |The Amazon S3 object (the deployment package) version
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaZipFile` |`String` |The local path of the zip file (the deployment package).
- Content of zip file can also be put in Message body.| No
-
-|createFunction |`CamelAwsLambdaRole` |`String` |The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
- when it executes your function to access any other Amazon Web Services (AWS) resources. |Yes
-
-|createFunction |`CamelAwsLambdaRuntime` |String |The runtime environment for the Lambda function you are uploading.
- (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge) |Yes
-
-|createFunction |`CamelAwsLambdaHandler` |`String` |The function within your code that Lambda calls to begin execution.
- For Node.js, it is the module-name.export value in your function.
- For Java, it can be package.class-name::handler or package.class-name.|Yes
-
-|createFunction |`CamelAwsLambdaDescription` |`String` |The user-provided description.|No
-
-|createFunction |`CamelAwsLambdaTargetArn` |`String` |The parent object that contains the target ARN (Amazon Resource Name)
-of an Amazon SQS queue or Amazon SNS topic.|No
-
-|createFunction |`CamelAwsLambdaMemorySize` |`Integer` |The memory size, in MB, you configured for the function.
-Must be a multiple of 64 MB.|No
-
-|createFunction |`CamelAwsLambdaKMSKeyArn` |`String` |The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.
-If not provided, AWS Lambda will use a default service key.|No
-
-|createFunction |`CamelAwsLambdaPublish` |`Boolean` |This boolean parameter can be used to request AWS Lambda
-to create the Lambda function and publish a version as an atomic operation.|No
-
-|createFunction |`CamelAwsLambdaTimeout` |`Integer` |The function execution time at which Lambda should terminate the function.
-The default is 3 seconds.|No
-
-|createFunction |`CamelAwsLambdaTracingConfig` |`String` |Your function's tracing settings (Active or PassThrough).|No
-
-|createFunction |`CamelAwsLambdaEnvironmentVariables` |`Map<String, String>` |The key-value pairs that represent your environment's configuration settings.|No
-
-|createFunction |`CamelAwsLambdaEnvironmentTags` |`Map<String, String>` |The list of tags (key-value pairs) assigned to the new function.|No
-
-|createFunction |`CamelAwsLambdaSecurityGroupIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC.|No
-
-|createFunction |`CamelAwsLambdaSubnetIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC.|No
-
-|createAlias |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionDescription` |`String` |The function description to set in the alias|No
-
-|deleteAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|getAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|listAliases |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|=======================================================================
-
-== List of Avalaible Operations
-
-- listFunctions
-- getFunction
-- createFunction
-- deleteFunction
-- invokeFunction
-- updateFunction
-- createEventSourceMapping
-- deleteEventSourceMapping
-- listEventSourceMapping
-- listTags
-- tagResource
-- untagResource
-- publishVersion
-- listVersions
-- createAlias
-- deleteAlias
-- getAlias
-- listAliases
-
-== Example
-
-To have a full understanding of how the component works, you may have a look at this https://github.com/apache/camel/blob/master/components/camel-aws/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java[integration test]
-
-== Automatic detection of AmazonLambda client in registry
-
-The component is capable of detecting the presence of an AmazonLambda 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-lambda</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-lambda-starter.adoc[]


[camel] 01/03: CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda

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 ee7fa0ddf48a2c6ddcd0e3fceb92071227fa8b14
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Feb 22 13:52:16 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-Lambda
---
 bom/camel-bom/pom.xml                              |   5 -
 components/camel-aws-lambda/pom.xml                |  77 ---
 .../aws/lambda/LambdaComponentConfigurer.java      | 113 ----
 .../aws/lambda/LambdaEndpointConfigurer.java       |  97 ---
 .../aws/lambda/LambdaEndpointUriFactory.java       |  74 ---
 .../services/org/apache/camel/component.properties |   7 -
 .../services/org/apache/camel/component/aws-lambda |   2 -
 .../apache/camel/configurer/aws-lambda-component   |   2 -
 .../apache/camel/configurer/aws-lambda-endpoint    |   2 -
 .../apache/camel/urifactory/aws-lambda-endpoint    |   2 -
 .../camel/component/aws/lambda/aws-lambda.json     |  52 --
 .../src/main/docs/aws-lambda-component.adoc        | 242 -------
 .../component/aws/lambda/LambdaComponent.java      |  79 ---
 .../lambda/LambdaComponentVerifierExtension.java   |  91 ---
 .../component/aws/lambda/LambdaConfiguration.java  | 160 -----
 .../component/aws/lambda/LambdaConstants.java      |  57 --
 .../camel/component/aws/lambda/LambdaEndpoint.java | 127 ----
 .../component/aws/lambda/LambdaOperations.java     |  39 --
 .../camel/component/aws/lambda/LambdaProducer.java | 695 ---------------------
 .../aws/lambda/AmazonLambdaClientMock.java         | 415 ------------
 .../lambda/LambdaComponentClientRegistryTest.java  |  76 ---
 .../lambda/LambdaComponentConfigurationTest.java   | 124 ----
 .../aws/lambda/LambdaComponentSpringTest.java      | 343 ----------
 .../LambdaComponentVerifierExtensionTest.java      |  76 ---
 .../component/aws/lambda/LambdaOperationsTest.java |  73 ---
 .../lambda/LambdaProducerDefaultFunctionTest.java  |  66 --
 .../component/aws/lambda/LambdaProducerTest.java   | 461 --------------
 .../LambdaComponentIntegrationTest.java            | 144 -----
 .../src/test/resources/log4j2.properties           |  28 -
 .../lambda/LambdaComponentSpringTest-context.xml   | 115 ----
 .../aws/lambda/function/node/GetHelloWithName.js   |  21 -
 .../aws/lambda/function/node/GetHelloWithName.zip  | Bin 320 -> 0 bytes
 components/pom.xml                                 |   1 -
 core/camel-allcomponents/pom.xml                   |   4 -
 parent/pom.xml                                     |   5 -
 35 files changed, 3875 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index be50e4b..16d7642 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -178,11 +178,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-aws-lambda</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/components/camel-aws-lambda/pom.xml b/components/camel-aws-lambda/pom.xml
deleted file mode 100644
index 901bd9c..0000000
--- a/components/camel-aws-lambda/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.9.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-aws-lambda</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: AWS Lambda (deprecated)</name>
-    <description>A Camel Amazon Lambda We 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-lambda</artifactId>
-            <version>${aws-java-sdk-version}</version>
-        </dependency>
-
-        <!-- for testing -->
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-catalog</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurer.java b/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurer.java
deleted file mode 100644
index 5e36c40..0000000
--- a/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurer.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.lambda;
-
-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 LambdaComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    private org.apache.camel.component.aws.lambda.LambdaConfiguration getOrCreateConfiguration(LambdaComponent target) {
-        if (target.getConfiguration() == null) {
-            target.setConfiguration(new org.apache.camel.component.aws.lambda.LambdaConfiguration());
-        }
-        return target.getConfiguration();
-    }
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        LambdaComponent target = (LambdaComponent) 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 "awslambdaclient":
-        case "awsLambdaClient": getOrCreateConfiguration(target).setAwsLambdaClient(property(camelContext, com.amazonaws.services.lambda.AWSLambda.class, value)); return true;
-        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.lambda.LambdaConfiguration.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.lambda.LambdaOperations.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 "awslambdaclient":
-        case "awsLambdaClient": return com.amazonaws.services.lambda.AWSLambda.class;
-        case "configuration": return org.apache.camel.component.aws.lambda.LambdaConfiguration.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "operation": return org.apache.camel.component.aws.lambda.LambdaOperations.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) {
-        LambdaComponent target = (LambdaComponent) 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 "awslambdaclient":
-        case "awsLambdaClient": return getOrCreateConfiguration(target).getAwsLambdaClient();
-        case "configuration": return target.getConfiguration();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "operation": return getOrCreateConfiguration(target).getOperation();
-        case "proxyhost":
-        case "proxyHost": return getOrCreateConfiguration(target).getProxyHost();
-        case "proxyport":
-        case "proxyPort": return getOrCreateConfiguration(target).getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return getOrCreateConfiguration(target).getProxyProtocol();
-        case "region": return getOrCreateConfiguration(target).getRegion();
-        case "secretkey":
-        case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointConfigurer.java b/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointConfigurer.java
deleted file mode 100644
index 7fe97d4..0000000
--- a/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointConfigurer.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.lambda;
-
-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 LambdaEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        LambdaEndpoint target = (LambdaEndpoint) 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 "awslambdaclient":
-        case "awsLambdaClient": target.getConfiguration().setAwsLambdaClient(property(camelContext, com.amazonaws.services.lambda.AWSLambda.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.lambda.LambdaOperations.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 "awslambdaclient":
-        case "awsLambdaClient": return com.amazonaws.services.lambda.AWSLambda.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "operation": return org.apache.camel.component.aws.lambda.LambdaOperations.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) {
-        LambdaEndpoint target = (LambdaEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return target.getConfiguration().getAccessKey();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return target.getConfiguration().isAutoDiscoverClient();
-        case "awslambdaclient":
-        case "awsLambdaClient": return target.getConfiguration().getAwsLambdaClient();
-        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-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointUriFactory.java b/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointUriFactory.java
deleted file mode 100644
index 7cc36b3..0000000
--- a/components/camel-aws-lambda/src/generated/java/org/apache/camel/component/aws/lambda/LambdaEndpointUriFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.lambda;
-
-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 LambdaEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
-
-    private static final String BASE = ":function";
-
-    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("awsLambdaClient");
-        props.add("proxyPort");
-        props.add("lazyStartProducer");
-        props.add("proxyProtocol");
-        props.add("secretKey");
-        props.add("accessKey");
-        props.add("function");
-        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-lambda".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, "function", 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-lambda/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index b51d522..0000000
--- a/components/camel-aws-lambda/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-lambda
-groupId=org.apache.camel
-artifactId=camel-aws-lambda
-version=3.9.0-SNAPSHOT
-projectName=Camel :: AWS Lambda (deprecated)
-projectDescription=A Camel Amazon Lambda We Service Component
diff --git a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/component/aws-lambda b/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/component/aws-lambda
deleted file mode 100644
index 6df0c97..0000000
--- a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/component/aws-lambda
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.lambda.LambdaComponent
diff --git a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-component b/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-component
deleted file mode 100644
index 6f92ace..0000000
--- a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.lambda.LambdaComponentConfigurer
diff --git a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-endpoint b/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-endpoint
deleted file mode 100644
index 4fbedfd..0000000
--- a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-lambda-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.lambda.LambdaEndpointConfigurer
diff --git a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-lambda-endpoint b/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-lambda-endpoint
deleted file mode 100644
index a960e40..0000000
--- a/components/camel-aws-lambda/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-lambda-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.lambda.LambdaEndpointUriFactory
diff --git a/components/camel-aws-lambda/src/generated/resources/org/apache/camel/component/aws/lambda/aws-lambda.json b/components/camel-aws-lambda/src/generated/resources/org/apache/camel/component/aws/lambda/aws-lambda.json
deleted file mode 100644
index 1ebbea4..0000000
--- a/components/camel-aws-lambda/src/generated/resources/org/apache/camel/component/aws/lambda/aws-lambda.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-lambda",
-    "title": "AWS Lambda",
-    "description": "Manage and invoke AWS Lambda functions.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.20.0",
-    "label": "cloud,computing,serverless",
-    "javaType": "org.apache.camel.component.aws.lambda.LambdaComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-lambda",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-lambda",
-    "extendsScheme": "",
-    "syntax": "aws-lambda:function",
-    "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client  [...]
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The AWS Lambda default configuration" },
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.lambda.LambdaOperations", "enum": [ "listFunctions", "getFunction", "createAlias", "deleteAlias", "getAlias", "listAliases", "createFunction", "deleteFunction", "invokeFunction", "updateFunction", "createEventSourceMapping", "deleteEventSourceMapping", "listEventSourceMapping", "listTags", "tagResource", "unt [...]
-    "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Region. When using this parameter, the configuration will expect the capitalized name of the region (for example  [...]
-    "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 [...]
-    "awsLambdaClient": { "kind": "property", "displayName": "Aws Lambda Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.amazonaws.services.lambda.AWSLambda", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To use a existing configured AwsLambdaClient as client" },
-    "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Lambda client" },
-    "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Lambda client" },
-    "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the Lambd [...]
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  },
-  "properties": {
-    "function": { "kind": "path", "displayName": "Function", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the Lambda function." },
-    "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a 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": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.lambda.LambdaOperations", "enum": [ "listFunctions", "getFunction", "createAlias", "deleteAlias", "getAlias", "listAliases", "createFunction", "deleteFunction", "invokeFunction", "updateFunction", "createEventSourceMapping", "deleteEventSourceMapping", "listEventSourceMapping", "listTags", "tagResource", "un [...]
-    "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Region. When using this parameter, the configuration will expect the capitalized name of the region (for example [...]
-    "awsLambdaClient": { "kind": "parameter", "displayName": "Aws Lambda Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.amazonaws.services.lambda.AWSLambda", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To use a existing configured AwsLambdaClient as client" },
-    "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Lambda client" },
-    "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Lambda client" },
-    "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "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.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the Lamb [...]
-    "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.lambda.LambdaConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  }
-}
diff --git a/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc b/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
deleted file mode 100644
index 4c63836..0000000
--- a/components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
+++ /dev/null
@@ -1,242 +0,0 @@
-[[aws-lambda-component]]
-= AWS Lambda Component (deprecated)
-:docTitle: AWS Lambda
-:artifactId: camel-aws-lambda
-:description: Manage and invoke AWS Lambda functions.
-:since: 2.20
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-lambda.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The Lambda component supports create, get, list, delete and invoke
-https://aws.amazon.com/lambda/[AWS Lambda] functions.
-
-*Prerequisites*
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon Lambda. More information is available at
-https://aws.amazon.com/lambda/[AWS Lambda].
-
-When creating a Lambda function, you need to specify a IAM role which has at least the AWSLambdaBasicExecuteRole policy attached.
-
-*Warning*
-
-Lambda is regional service. Unlike S3 bucket, Lambda function created in a given region is not available on other regions.
-
-== URI Format
-
-[source,java]
--------------------------
-aws-lambda://functionName[?options]
--------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Lambda 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
-| *configuration* (producer) | The AWS Lambda default configuration |  | LambdaConfiguration
-| *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) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *region* (producer) | Amazon AWS Region. 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
-| *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
-| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Lambda endpoint is configured using URI syntax:
-
-----
-aws-lambda:function
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *function* | *Required* Name of the Lambda function. |  | 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
-| *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) | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction. There are 18 enums and the value can be one of: listFunctions, getFunction, createAlias, deleteAlias, getAlias, listAliases, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions | invokeFunction |  [...]
-| *region* (producer) | Amazon AWS Region. 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
-| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
-| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
-| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
-| *proxyProtocol* (proxy) | To define a proxy protocol when instantiating the Lambda client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required Lambda component options
-
-You have to provide the awsLambdaClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/lambda/[Amazon Lambda] service.
-
-== Usage
-
-=== Message headers evaluated by the Lambda producer
-
-[width="100%",cols="5%,5%,10%,75%,5%",options="header",]
-|=======================================================================
-|Operation |Header |Type |Description |Required
-
-|All |`CamelAwsLambdaOperation` |`String` |The operation we want to perform. Override operation passed as query parameter| Yes
-
-|createFunction |`CamelAwsLambdaS3Bucket` |`String` |Amazon S3 bucket name where the .zip file containing
-your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.| No
-
-|createFunction |`CamelAwsLambdaS3Key` |`String` |The Amazon S3 object (the deployment package) key name
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaS3ObjectVersion` |String |The Amazon S3 object (the deployment package) version
-you want to upload.| No
-
-|createFunction |`CamelAwsLambdaZipFile` |`String` |The local path of the zip file (the deployment package).
- Content of zip file can also be put in Message body.| No
-
-|createFunction |`CamelAwsLambdaRole` |`String` |The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
- when it executes your function to access any other Amazon Web Services (AWS) resources. |Yes
-
-|createFunction |`CamelAwsLambdaRuntime` |String |The runtime environment for the Lambda function you are uploading.
- (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge) |Yes
-
-|createFunction |`CamelAwsLambdaHandler` |`String` |The function within your code that Lambda calls to begin execution.
- For Node.js, it is the module-name.export value in your function.
- For Java, it can be package.class-name::handler or package.class-name.|Yes
-
-|createFunction |`CamelAwsLambdaDescription` |`String` |The user-provided description.|No
-
-|createFunction |`CamelAwsLambdaTargetArn` |`String` |The parent object that contains the target ARN (Amazon Resource Name)
-of an Amazon SQS queue or Amazon SNS topic.|No
-
-|createFunction |`CamelAwsLambdaMemorySize` |`Integer` |The memory size, in MB, you configured for the function.
-Must be a multiple of 64 MB.|No
-
-|createFunction |`CamelAwsLambdaKMSKeyArn` |`String` |The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.
-If not provided, AWS Lambda will use a default service key.|No
-
-|createFunction |`CamelAwsLambdaPublish` |`Boolean` |This boolean parameter can be used to request AWS Lambda
-to create the Lambda function and publish a version as an atomic operation.|No
-
-|createFunction |`CamelAwsLambdaTimeout` |`Integer` |The function execution time at which Lambda should terminate the function.
-The default is 3 seconds.|No
-
-|createFunction |`CamelAwsLambdaTracingConfig` |`String` |Your function's tracing settings (Active or PassThrough).|No
-
-|createFunction |`CamelAwsLambdaEnvironmentVariables` |`Map<String, String>` |The key-value pairs that represent your environment's configuration settings.|No
-
-|createFunction |`CamelAwsLambdaEnvironmentTags` |`Map<String, String>` |The list of tags (key-value pairs) assigned to the new function.|No
-
-|createFunction |`CamelAwsLambdaSecurityGroupIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC.|No
-
-|createFunction |`CamelAwsLambdaSubnetIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC.|No
-
-|createAlias |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name to set in the alias|Yes
-
-|createAlias |`CamelAwsLambdaAliasFunctionDescription` |`String` |The function description to set in the alias|No
-
-|deleteAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|getAlias |`CamelAwsLambdaAliasFunctionName` |`String` |The function name of the alias|Yes
-
-|listAliases |`CamelAwsLambdaFunctionVersion` |`String` |The function version to set in the alias|Yes
-
-|=======================================================================
-
-== List of Avalaible Operations
-
-- listFunctions
-- getFunction
-- createFunction
-- deleteFunction
-- invokeFunction
-- updateFunction
-- createEventSourceMapping
-- deleteEventSourceMapping
-- listEventSourceMapping
-- listTags
-- tagResource
-- untagResource
-- publishVersion
-- listVersions
-- createAlias
-- deleteAlias
-- getAlias
-- listAliases
-
-== Example
-
-To have a full understanding of how the component works, you may have a look at this https://github.com/apache/camel/blob/master/components/camel-aws/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java[integration test]
-
-== Automatic detection of AmazonLambda client in registry
-
-The component is capable of detecting the presence of an AmazonLambda 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-lambda</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-lambda-starter.adoc[]
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
deleted file mode 100644
index b80c4e2..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
+++ /dev/null
@@ -1,79 +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.lambda;
-
-import java.util.Map;
-import java.util.Set;
-
-import com.amazonaws.services.lambda.AWSLambda;
-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;
-
-@Component("aws-lambda")
-public class LambdaComponent extends DefaultComponent {
-
-    @Metadata
-    private LambdaConfiguration configuration = new LambdaConfiguration();
-
-    public LambdaComponent() {
-        this(null);
-    }
-
-    public LambdaComponent(CamelContext context) {
-        super(context);
-
-        registerExtension(new LambdaComponentVerifierExtension());
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        LambdaConfiguration configuration = this.configuration != null ? this.configuration.copy() : new LambdaConfiguration();
-        LambdaEndpoint endpoint = new LambdaEndpoint(uri, this, configuration);
-        setProperties(endpoint, parameters);
-        endpoint.setFunction(remaining);
-        if (endpoint.getConfiguration().isAutoDiscoverClient()) {
-            checkAndSetRegistryClient(configuration);
-        }
-        if (configuration.getAwsLambdaClient() == null
-                && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("accessKey/secretKey or awsLambdaClient must be specified");
-        }
-
-        return endpoint;
-    }
-
-    public LambdaConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    /**
-     * The AWS Lambda default configuration
-     */
-    public void setConfiguration(LambdaConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    private void checkAndSetRegistryClient(LambdaConfiguration configuration) {
-        Set<AWSLambda> clients = getCamelContext().getRegistry().findByType(AWSLambda.class);
-        if (clients.size() == 1) {
-            configuration.setAwsLambdaClient(clients.stream().findFirst().get());
-        }
-    }
-}
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtension.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtension.java
deleted file mode 100644
index a4fb7f7..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtension.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.lambda;
-
-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.lambda.AWSLambda;
-import com.amazonaws.services.lambda.AWSLambdaClientBuilder;
-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 LambdaComponentVerifierExtension extends DefaultComponentVerifierExtension {
-
-    public LambdaComponentVerifierExtension() {
-        this("aws-lambda");
-    }
-
-    public LambdaComponentVerifierExtension(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 {
-            LambdaConfiguration configuration = setProperties(new LambdaConfiguration(), parameters);
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            AWSLambda client = AWSLambdaClientBuilder.standard().withCredentials(credentialsProvider)
-                    .withRegion(Regions.valueOf(configuration.getRegion())).build();
-            client.listFunctions();
-        } catch (SdkClientException e) {
-            ResultErrorBuilder errorBuilder
-                    = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
-                            .detail("aws_lambda_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-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
deleted file mode 100644
index 2d06d0c..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
+++ /dev/null
@@ -1,160 +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.lambda;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.services.lambda.AWSLambda;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriParams;
-
-@UriParams
-public class LambdaConfiguration implements Cloneable {
-
-    @UriParam(defaultValue = "invokeFunction")
-    private LambdaOperations operation = LambdaOperations.invokeFunction;
-    @UriParam(label = "security", secret = true)
-    private String accessKey;
-    @UriParam(label = "security", secret = true)
-    private String secretKey;
-    @UriParam(label = "producer")
-    private String region;
-    @UriParam(label = "proxy", enums = "HTTP,HTTPS", defaultValue = "HTTPS")
-    private Protocol proxyProtocol = Protocol.HTTPS;
-    @UriParam(label = "proxy")
-    private String proxyHost;
-    @UriParam(label = "proxy")
-    private Integer proxyPort;
-    @UriParam(label = "advanced")
-    private AWSLambda awsLambdaClient;
-    @UriParam(label = "common", defaultValue = "true")
-    private boolean autoDiscoverClient = true;
-
-    public AWSLambda getAwsLambdaClient() {
-        return awsLambdaClient;
-    }
-
-    /**
-     * To use a existing configured AwsLambdaClient as client
-     */
-    public void setAwsLambdaClient(AWSLambda awsLambdaClient) {
-        this.awsLambdaClient = awsLambdaClient;
-    }
-
-    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 String getRegion() {
-        return region;
-    }
-
-    /**
-     * Amazon AWS Region. 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 LambdaOperations getOperation() {
-        return operation;
-    }
-
-    /**
-     * The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction
-     */
-    public void setOperation(LambdaOperations operation) {
-        this.operation = operation;
-    }
-
-    public Protocol getProxyProtocol() {
-        return proxyProtocol;
-    }
-
-    /**
-     * To define a proxy protocol when instantiating the Lambda client
-     */
-    public void setProxyProtocol(Protocol proxyProtocol) {
-        this.proxyProtocol = proxyProtocol;
-    }
-
-    public String getProxyHost() {
-        return proxyHost;
-    }
-
-    /**
-     * To define a proxy host when instantiating the Lambda client
-     */
-    public void setProxyHost(String proxyHost) {
-        this.proxyHost = proxyHost;
-    }
-
-    public Integer getProxyPort() {
-        return proxyPort;
-    }
-
-    /**
-     * To define a proxy port when instantiating the Lambda client
-     */
-    public void setProxyPort(Integer proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-
-    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 LambdaConfiguration copy() {
-        try {
-            return (LambdaConfiguration) super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new RuntimeCamelException(e);
-        }
-    }
-
-}
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConstants.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConstants.java
deleted file mode 100644
index f7c189f..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConstants.java
+++ /dev/null
@@ -1,57 +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.lambda;
-
-/**
- * Constants used in Camel AWS Lambda module
- */
-public interface LambdaConstants {
-
-    String OPERATION = "CamelAwsLambdaOperation";
-
-    String S3_BUCKET = "CamelAwsLambdaS3Bucket";
-    String S3_KEY = "CamelAwsLambdaS3Key";
-    String S3_OBJECT_VERSION = "CamelAwsLambdaS3ObjectVersion";
-    String ZIP_FILE = "CamelAwsLambdaZipFile";
-    String DESCRIPTION = "CamelAwsLambdaDescription";
-    String ROLE = "CamelAwsLambdaRole";
-    String RUNTIME = "CamelAwsLambdaRuntime";
-    String HANDLER = "CamelAwsLambdaHandler";
-    String TARGET_ARN = "CamelAwsLambdaTargetArn";
-    String MEMORY_SIZE = "CamelAwsLambdaMemorySize";
-    String KMS_KEY_ARN = "CamelAwsLambdaKMSKeyArn";
-    String ENVIRONMENT_VARIABLES = "CamelAwsLambdaEnvironmentVariables";
-    String PUBLISH = "CamelAwsLambdaPublish";
-    String TIMEOUT = "CamelAwsLambdaTimeout";
-    String TAGS = "CamelAwsLambdaTags";
-    String TRACING_CONFIG = "CamelAwsLambdaTracingConfig";
-    String SDK_CLIENT_EXECUTION_TIMEOUT = "CamelAwsLambdaSdkClientExecutionTimeout";
-    String SDK_REQUEST_TIMEOUT = "CamelAwsLambdaSdkRequestTimeout";
-    String SECURITY_GROUP_IDS = "CamelAwsLambdaSecurityGroupIds";
-    String SUBNET_IDS = "CamelAwsLambdaSubnetIds";
-    String EVENT_SOURCE_ARN = "CamelAwsLambdaEventSourceArn";
-    String EVENT_SOURCE_BATCH_SIZE = "CamelAwsLambdaEventSourceBatchSize";
-    String EVENT_SOURCE_UUID = "CamelAwsLambdaEventSourceUuid";
-    String RESOURCE_ARN = "CamelAwsLambdaResourceArn";
-    String RESOURCE_TAGS = "CamelAwsLambdaResourceTags";
-    String RESOURCE_TAG_KEYS = "CamelAwsLambdaResourceTagKeys";
-    String VERSION_DESCRIPTION = "CamelAwsLambdaVersionDescription";
-    String VERSION_REVISION_ID = "CamelAwsLambdaVersionRevisionId";
-    String FUNCTION_VERSION = "CamelAwsLambdaFunctionVersion";
-    String FUNCTION_ALIAS_NAME = "CamelAwsLambdaAliasFunctionName";
-    String FUNCTION_ALIAS_DESCRIPTION = "CamelAwsLambdaAliasFunctionDescription";
-}
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java
deleted file mode 100644
index 83a6a07..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java
+++ /dev/null
@@ -1,127 +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.lambda;
-
-import com.amazonaws.ClientConfiguration;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.lambda.AWSLambda;
-import com.amazonaws.services.lambda.AWSLambdaClientBuilder;
-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.Metadata;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriPath;
-import org.apache.camel.support.DefaultEndpoint;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * Manage and invoke AWS Lambda functions.
- */
-@UriEndpoint(firstVersion = "2.20.0", scheme = "aws-lambda", title = "AWS Lambda",
-             syntax = "aws-lambda:function", producerOnly = true,
-             category = { Category.CLOUD, Category.COMPUTING, Category.SERVERLESS })
-public class LambdaEndpoint extends DefaultEndpoint {
-
-    private AWSLambda awsLambdaClient;
-
-    @UriPath
-    @Metadata(required = true)
-    private String function;
-    @UriParam
-    private LambdaConfiguration configuration;
-
-    public LambdaEndpoint(String uri, Component component, LambdaConfiguration 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 LambdaProducer(this);
-    }
-
-    public String getFunction() {
-        return function;
-    }
-
-    /**
-     * Name of the Lambda function.
-     */
-    public void setFunction(String function) {
-        this.function = function;
-    }
-
-    @Override
-    public void doStart() throws Exception {
-        super.doStart();
-        awsLambdaClient
-                = configuration.getAwsLambdaClient() != null ? configuration.getAwsLambdaClient() : createLambdaClient();
-    }
-
-    @Override
-    public void doStop() throws Exception {
-        if (ObjectHelper.isEmpty(configuration.getAwsLambdaClient())) {
-            if (awsLambdaClient != null) {
-                awsLambdaClient.shutdown();
-            }
-        }
-        super.doStop();
-    }
-
-    public LambdaConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    public AWSLambda getAwsLambdaClient() {
-        return awsLambdaClient;
-    }
-
-    AWSLambda createLambdaClient() {
-        AWSLambdaClientBuilder builder = AWSLambdaClientBuilder.standard();
-
-        if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
-            ClientConfiguration clientConfiguration = new ClientConfiguration();
-            clientConfiguration.setProxyProtocol(configuration.getProxyProtocol());
-            clientConfiguration.setProxyHost(configuration.getProxyHost());
-            clientConfiguration.setProxyPort(configuration.getProxyPort());
-            builder = builder.withClientConfiguration(clientConfiguration);
-        }
-
-        if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
-            builder = builder.withRegion(Regions.valueOf(configuration.getRegion()));
-        }
-
-        if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            builder = builder.withCredentials(new AWSStaticCredentialsProvider(credentials));
-        }
-
-        return builder.build();
-    }
-}
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaOperations.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaOperations.java
deleted file mode 100644
index 06dfa52..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaOperations.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.lambda;
-
-public enum LambdaOperations {
-
-    listFunctions,
-    getFunction,
-    createAlias,
-    deleteAlias,
-    getAlias,
-    listAliases,
-    createFunction,
-    deleteFunction,
-    invokeFunction,
-    updateFunction,
-    createEventSourceMapping,
-    deleteEventSourceMapping,
-    listEventSourceMapping,
-    listTags,
-    tagResource,
-    untagResource,
-    publishVersion,
-    listVersions
-}
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java
deleted file mode 100644
index d5394bd..0000000
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java
+++ /dev/null
@@ -1,695 +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.lambda;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-import java.util.List;
-import java.util.Map;
-
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.lambda.AWSLambda;
-import com.amazonaws.services.lambda.model.CreateAliasRequest;
-import com.amazonaws.services.lambda.model.CreateAliasResult;
-import com.amazonaws.services.lambda.model.CreateEventSourceMappingRequest;
-import com.amazonaws.services.lambda.model.CreateEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.CreateFunctionRequest;
-import com.amazonaws.services.lambda.model.CreateFunctionResult;
-import com.amazonaws.services.lambda.model.DeadLetterConfig;
-import com.amazonaws.services.lambda.model.DeleteAliasRequest;
-import com.amazonaws.services.lambda.model.DeleteAliasResult;
-import com.amazonaws.services.lambda.model.DeleteEventSourceMappingRequest;
-import com.amazonaws.services.lambda.model.DeleteEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.DeleteFunctionRequest;
-import com.amazonaws.services.lambda.model.DeleteFunctionResult;
-import com.amazonaws.services.lambda.model.Environment;
-import com.amazonaws.services.lambda.model.FunctionCode;
-import com.amazonaws.services.lambda.model.GetAliasRequest;
-import com.amazonaws.services.lambda.model.GetAliasResult;
-import com.amazonaws.services.lambda.model.GetFunctionRequest;
-import com.amazonaws.services.lambda.model.GetFunctionResult;
-import com.amazonaws.services.lambda.model.InvokeRequest;
-import com.amazonaws.services.lambda.model.InvokeResult;
-import com.amazonaws.services.lambda.model.ListAliasesRequest;
-import com.amazonaws.services.lambda.model.ListAliasesResult;
-import com.amazonaws.services.lambda.model.ListEventSourceMappingsRequest;
-import com.amazonaws.services.lambda.model.ListEventSourceMappingsResult;
-import com.amazonaws.services.lambda.model.ListFunctionsResult;
-import com.amazonaws.services.lambda.model.ListTagsRequest;
-import com.amazonaws.services.lambda.model.ListTagsResult;
-import com.amazonaws.services.lambda.model.ListVersionsByFunctionRequest;
-import com.amazonaws.services.lambda.model.ListVersionsByFunctionResult;
-import com.amazonaws.services.lambda.model.PublishVersionRequest;
-import com.amazonaws.services.lambda.model.PublishVersionResult;
-import com.amazonaws.services.lambda.model.TagResourceRequest;
-import com.amazonaws.services.lambda.model.TagResourceResult;
-import com.amazonaws.services.lambda.model.TracingConfig;
-import com.amazonaws.services.lambda.model.UntagResourceRequest;
-import com.amazonaws.services.lambda.model.UntagResourceResult;
-import com.amazonaws.services.lambda.model.UpdateFunctionCodeRequest;
-import com.amazonaws.services.lambda.model.UpdateFunctionCodeResult;
-import com.amazonaws.services.lambda.model.VpcConfig;
-import com.amazonaws.util.IOUtils;
-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.CastUtils;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Producer which sends messages to the Amazon Web Service Lambda <a href="https://aws.amazon.com/lambda/">AWS
- * Lambda</a>
- */
-public class LambdaProducer extends DefaultProducer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(LambdaProducer.class);
-
-    public LambdaProducer(final Endpoint endpoint) {
-        super(endpoint);
-    }
-
-    @Override
-    public void process(final Exchange exchange) throws Exception {
-        switch (determineOperation(exchange)) {
-            case getFunction:
-                getFunction(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case createFunction:
-                createFunction(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case deleteFunction:
-                deleteFunction(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case invokeFunction:
-                invokeFunction(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case listFunctions:
-                listFunctions(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case updateFunction:
-                updateFunction(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case createEventSourceMapping:
-                createEventSourceMapping(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case deleteEventSourceMapping:
-                deleteEventSourceMapping(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case listEventSourceMapping:
-                listEventSourceMapping(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case listTags:
-                listTags(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case tagResource:
-                tagResource(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case untagResource:
-                untagResource(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case publishVersion:
-                publishVersion(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case listVersions:
-                listVersions(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case createAlias:
-                createAlias(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case deleteAlias:
-                deleteAlias(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case getAlias:
-                getAlias(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            case listAliases:
-                listAliases(getEndpoint().getAwsLambdaClient(), exchange);
-                break;
-            default:
-                throw new IllegalArgumentException("Unsupported operation");
-        }
-    }
-
-    private void getFunction(AWSLambda lambdaClient, Exchange exchange) {
-        GetFunctionResult result;
-        try {
-            result = lambdaClient.getFunction(new GetFunctionRequest().withFunctionName(getEndpoint().getFunction()));
-        } catch (AmazonServiceException ase) {
-            LOG.trace("getFunction command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteFunction(AWSLambda lambdaClient, Exchange exchange) {
-        DeleteFunctionResult result;
-        try {
-            result = lambdaClient.deleteFunction(new DeleteFunctionRequest().withFunctionName(getEndpoint().getFunction()));
-        } catch (AmazonServiceException ase) {
-            LOG.trace("deleteFunction command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listFunctions(AWSLambda lambdaClient, Exchange exchange) {
-        ListFunctionsResult result;
-        try {
-            result = lambdaClient.listFunctions();
-        } catch (AmazonServiceException ase) {
-            LOG.trace("listFunctions command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void invokeFunction(AWSLambda lambdaClient, Exchange exchange) {
-        InvokeResult result;
-        try {
-            InvokeRequest request = new InvokeRequest()
-                    .withFunctionName(getEndpoint().getFunction())
-                    .withPayload(exchange.getIn().getBody(String.class));
-            result = lambdaClient.invoke(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("invokeFunction command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(StandardCharsets.UTF_8.decode(result.getPayload()).toString());
-    }
-
-    private void createFunction(AWSLambda lambdaClient, Exchange exchange) throws Exception {
-        CreateFunctionResult result;
-
-        try {
-            CreateFunctionRequest request = new CreateFunctionRequest()
-                    .withFunctionName(getEndpoint().getFunction());
-
-            FunctionCode functionCode = new FunctionCode();
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_BUCKET))) {
-                String s3Bucket = exchange.getIn().getHeader(LambdaConstants.S3_BUCKET, String.class);
-                functionCode.withS3Bucket(s3Bucket);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_KEY))) {
-                String s3Key = exchange.getIn().getHeader(LambdaConstants.S3_KEY, String.class);
-                functionCode.withS3Key(s3Key);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_OBJECT_VERSION))) {
-                String s3ObjectVersion = exchange.getIn().getHeader(LambdaConstants.S3_OBJECT_VERSION, String.class);
-                functionCode.withS3ObjectVersion(s3ObjectVersion);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.ZIP_FILE))) {
-                String zipFile = exchange.getIn().getHeader(LambdaConstants.ZIP_FILE, String.class);
-                File fileLocalPath = new File(zipFile);
-                try (FileInputStream inputStream = new FileInputStream(fileLocalPath)) {
-                    functionCode.withZipFile(ByteBuffer.wrap(IOUtils.toByteArray(inputStream)));
-                }
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getBody())) {
-                functionCode.withZipFile(exchange.getIn().getBody(ByteBuffer.class));
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getBody())
-                    || (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_BUCKET))
-                            && ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_KEY)))) {
-                request.withCode(functionCode);
-            } else {
-                throw new IllegalArgumentException("At least S3 bucket/S3 key or zip file must be specified");
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.ROLE))) {
-                request.withRole(exchange.getIn().getHeader(LambdaConstants.ROLE, String.class));
-            } else {
-                throw new IllegalArgumentException("Role must be specified");
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.RUNTIME))) {
-                request.withRuntime(exchange.getIn().getHeader(LambdaConstants.RUNTIME, String.class));
-            } else {
-                throw new IllegalArgumentException("Runtime must be specified");
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.HANDLER))) {
-                request.withHandler(exchange.getIn().getHeader(LambdaConstants.HANDLER, String.class));
-            } else {
-                throw new IllegalArgumentException("Handler must be specified");
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.DESCRIPTION))) {
-                String description = exchange.getIn().getHeader(LambdaConstants.DESCRIPTION, String.class);
-                request.withDescription(description);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.TARGET_ARN))) {
-                String targetArn = exchange.getIn().getHeader(LambdaConstants.TARGET_ARN, String.class);
-                request.withDeadLetterConfig(new DeadLetterConfig().withTargetArn(targetArn));
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.MEMORY_SIZE))) {
-                Integer memorySize = exchange.getIn().getHeader(LambdaConstants.MEMORY_SIZE, Integer.class);
-                request.withMemorySize(memorySize);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.KMS_KEY_ARN))) {
-                String kmsKeyARN = exchange.getIn().getHeader(LambdaConstants.KMS_KEY_ARN, String.class);
-                request.withKMSKeyArn(kmsKeyARN);
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.PUBLISH))) {
-                Boolean publish = exchange.getIn().getHeader(LambdaConstants.PUBLISH, Boolean.class);
-                request.withPublish(publish);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.TIMEOUT, Integer.class);
-                request.withTimeout(timeout);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.TRACING_CONFIG))) {
-                String tracingConfigMode = exchange.getIn().getHeader(LambdaConstants.TRACING_CONFIG, String.class);
-                request.withTracingConfig(new TracingConfig().withMode(tracingConfigMode));
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT, Integer.class);
-                request.withSdkClientExecutionTimeout(timeout);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT, Integer.class);
-                request.withSdkRequestTimeout(timeout);
-            }
-
-            Map<String, String> environmentVariables
-                    = CastUtils.cast(exchange.getIn().getHeader(LambdaConstants.ENVIRONMENT_VARIABLES, Map.class));
-            if (environmentVariables != null) {
-                request.withEnvironment(new Environment().withVariables(environmentVariables));
-            }
-
-            Map<String, String> tags = CastUtils.cast(exchange.getIn().getHeader(LambdaConstants.TAGS, Map.class));
-            if (tags != null) {
-                request.withTags(tags);
-            }
-
-            List<String> securityGroupIds = CastUtils.cast(
-                    exchange.getIn().getHeader(LambdaConstants.SECURITY_GROUP_IDS, (Class<List<String>>) (Object) List.class));
-            List<String> subnetIds = CastUtils
-                    .cast(exchange.getIn().getHeader(LambdaConstants.SUBNET_IDS, (Class<List<String>>) (Object) List.class));
-            if (securityGroupIds != null || subnetIds != null) {
-                VpcConfig vpcConfig = new VpcConfig();
-                if (securityGroupIds != null) {
-                    vpcConfig.withSecurityGroupIds(securityGroupIds);
-                }
-                if (subnetIds != null) {
-                    vpcConfig.withSubnetIds(subnetIds);
-                }
-                request.withVpcConfig(vpcConfig);
-            }
-            result = lambdaClient.createFunction(request);
-
-        } catch (AmazonServiceException ase) {
-            LOG.trace("createFunction command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void updateFunction(AWSLambda lambdaClient, Exchange exchange) throws Exception {
-        UpdateFunctionCodeResult result;
-
-        try {
-            UpdateFunctionCodeRequest request = new UpdateFunctionCodeRequest()
-                    .withFunctionName(getEndpoint().getFunction());
-
-            FunctionCode functionCode = new FunctionCode();
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_BUCKET))) {
-                String s3Bucket = exchange.getIn().getHeader(LambdaConstants.S3_BUCKET, String.class);
-                functionCode.withS3Bucket(s3Bucket);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_KEY))) {
-                String s3Key = exchange.getIn().getHeader(LambdaConstants.S3_KEY, String.class);
-                functionCode.withS3Key(s3Key);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_OBJECT_VERSION))) {
-                String s3ObjectVersion = exchange.getIn().getHeader(LambdaConstants.S3_OBJECT_VERSION, String.class);
-                functionCode.withS3ObjectVersion(s3ObjectVersion);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.ZIP_FILE))) {
-                String zipFile = exchange.getIn().getHeader(LambdaConstants.ZIP_FILE, String.class);
-                File fileLocalPath = new File(zipFile);
-                try (FileInputStream inputStream = new FileInputStream(fileLocalPath)) {
-                    functionCode.withZipFile(ByteBuffer.wrap(IOUtils.toByteArray(inputStream)));
-                }
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getBody())) {
-                functionCode.withZipFile(exchange.getIn().getBody(ByteBuffer.class));
-            }
-
-            if (ObjectHelper.isEmpty(exchange.getIn().getBody())
-                    && (ObjectHelper.isEmpty(exchange.getIn().getHeader(LambdaConstants.S3_BUCKET))
-                            && ObjectHelper.isEmpty(exchange.getIn().getHeader(LambdaConstants.S3_KEY)))) {
-                throw new IllegalArgumentException("At least S3 bucket/S3 key or zip file must be specified");
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.PUBLISH))) {
-                Boolean publish = exchange.getIn().getHeader(LambdaConstants.PUBLISH, Boolean.class);
-                request.withPublish(publish);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT, Integer.class);
-                request.withSdkClientExecutionTimeout(timeout);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT, Integer.class);
-                request.withSdkRequestTimeout(timeout);
-            }
-
-            result = lambdaClient.updateFunctionCode(request);
-
-        } catch (AmazonServiceException ase) {
-            LOG.trace("updateFunction command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void createEventSourceMapping(AWSLambda lambdaClient, Exchange exchange) {
-        CreateEventSourceMappingResult result;
-        try {
-            CreateEventSourceMappingRequest request
-                    = new CreateEventSourceMappingRequest().withFunctionName(getEndpoint().getFunction());
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_ARN))) {
-                request.withEventSourceArn(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_ARN, String.class));
-            } else {
-                throw new IllegalArgumentException("Event Source Arn must be specified");
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_BATCH_SIZE))) {
-                Integer batchSize = exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_BATCH_SIZE, Integer.class);
-                request.withBatchSize(batchSize);
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT, Integer.class);
-                request.withSdkClientExecutionTimeout(timeout);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT, Integer.class);
-                request.withSdkRequestTimeout(timeout);
-            }
-            result = lambdaClient.createEventSourceMapping(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("createEventSourceMapping command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteEventSourceMapping(AWSLambda lambdaClient, Exchange exchange) {
-        DeleteEventSourceMappingResult result;
-        try {
-            DeleteEventSourceMappingRequest request = new DeleteEventSourceMappingRequest();
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_UUID))) {
-                request.withUUID(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_UUID, String.class));
-            } else {
-                throw new IllegalArgumentException("Event Source Arn must be specified");
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT, Integer.class);
-                request.withSdkClientExecutionTimeout(timeout);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT, Integer.class);
-                request.withSdkRequestTimeout(timeout);
-            }
-            result = lambdaClient.deleteEventSourceMapping(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("deleteEventSourceMapping command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listEventSourceMapping(AWSLambda lambdaClient, Exchange exchange) {
-        ListEventSourceMappingsResult result;
-        try {
-            ListEventSourceMappingsRequest request
-                    = new ListEventSourceMappingsRequest().withFunctionName(getEndpoint().getFunction());
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT, Integer.class);
-                request.withSdkClientExecutionTimeout(timeout);
-            }
-
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT))) {
-                Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_REQUEST_TIMEOUT, Integer.class);
-                request.withSdkRequestTimeout(timeout);
-            }
-            result = lambdaClient.listEventSourceMappings(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("listEventSourceMapping command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listTags(AWSLambda lambdaClient, Exchange exchange) {
-        ListTagsResult result;
-        try {
-            ListTagsRequest request = new ListTagsRequest();
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.RESOURCE_ARN))) {
-                String resource = exchange.getIn().getHeader(LambdaConstants.RESOURCE_ARN, String.class);
-                request.withResource(resource);
-            } else {
-                throw new IllegalArgumentException("The resource ARN must be specified");
-            }
-            result = lambdaClient.listTags(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("listTags command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void tagResource(AWSLambda lambdaClient, Exchange exchange) {
-        TagResourceResult result;
-        try {
-            TagResourceRequest request = new TagResourceRequest();
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.RESOURCE_ARN))) {
-                String resource = exchange.getIn().getHeader(LambdaConstants.RESOURCE_ARN, String.class);
-                request.withResource(resource);
-            } else {
-                throw new IllegalArgumentException("The resource ARN must be specified");
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.RESOURCE_TAGS))) {
-                Map<String, String> tags = exchange.getIn().getHeader(LambdaConstants.RESOURCE_TAGS, Map.class);
-                request.withTags(tags);
-            } else {
-                throw new IllegalArgumentException("The tags must be specified");
-            }
-            result = lambdaClient.tagResource(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("listTags command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void untagResource(AWSLambda lambdaClient, Exchange exchange) {
-        UntagResourceResult result;
-        try {
-            UntagResourceRequest request = new UntagResourceRequest();
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.RESOURCE_ARN))) {
-                String resource = exchange.getIn().getHeader(LambdaConstants.RESOURCE_ARN, String.class);
-                request.withResource(resource);
-            } else {
-                throw new IllegalArgumentException("The resource ARN must be specified");
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.RESOURCE_TAG_KEYS))) {
-                List<String> tagKeys = exchange.getIn().getHeader(LambdaConstants.RESOURCE_TAG_KEYS, List.class);
-                request.withTagKeys(tagKeys);
-            } else {
-                throw new IllegalArgumentException("The tag keys must be specified");
-            }
-            result = lambdaClient.untagResource(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("untagResource command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void publishVersion(AWSLambda lambdaClient, Exchange exchange) {
-        PublishVersionResult result;
-        try {
-            PublishVersionRequest request = new PublishVersionRequest().withFunctionName(getEndpoint().getFunction());
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.VERSION_DESCRIPTION))) {
-                String description = exchange.getIn().getHeader(LambdaConstants.VERSION_DESCRIPTION, String.class);
-                request.withDescription(description);
-            }
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.VERSION_REVISION_ID))) {
-                String revisionId = exchange.getIn().getHeader(LambdaConstants.VERSION_REVISION_ID, String.class);
-                request.withRevisionId(revisionId);
-            }
-            result = lambdaClient.publishVersion(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("publishVersion command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listVersions(AWSLambda lambdaClient, Exchange exchange) {
-        ListVersionsByFunctionResult result;
-        try {
-            ListVersionsByFunctionRequest request
-                    = new ListVersionsByFunctionRequest().withFunctionName(getEndpoint().getFunction());
-            result = lambdaClient.listVersionsByFunction(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("publishVersion command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void createAlias(AWSLambda lambdaClient, Exchange exchange) {
-        CreateAliasResult result;
-        try {
-            CreateAliasRequest request = new CreateAliasRequest().withFunctionName(getEndpoint().getFunction());
-            String version = exchange.getIn().getHeader(LambdaConstants.FUNCTION_VERSION, String.class);
-            String aliasName = exchange.getIn().getHeader(LambdaConstants.FUNCTION_ALIAS_NAME, String.class);
-            if (ObjectHelper.isEmpty(version) || ObjectHelper.isEmpty(aliasName)) {
-                throw new IllegalArgumentException("Function Version and alias must be specified to create an alias");
-            }
-            request.setFunctionVersion(version);
-            request.setName(aliasName);
-            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.FUNCTION_ALIAS_DESCRIPTION))) {
-                String aliasDescription = exchange.getIn().getHeader(LambdaConstants.FUNCTION_ALIAS_DESCRIPTION, String.class);
-                request.setDescription(aliasDescription);
-            }
-            result = lambdaClient.createAlias(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("createAlias command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteAlias(AWSLambda lambdaClient, Exchange exchange) {
-        DeleteAliasResult result;
-        try {
-            DeleteAliasRequest request = new DeleteAliasRequest().withFunctionName(getEndpoint().getFunction());
-            String aliasName = exchange.getIn().getHeader(LambdaConstants.FUNCTION_ALIAS_NAME, String.class);
-            if (ObjectHelper.isEmpty(aliasName)) {
-                throw new IllegalArgumentException("Function alias must be specified to delete an alias");
-            }
-            request.setName(aliasName);
-            result = lambdaClient.deleteAlias(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("deleteAlias command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void getAlias(AWSLambda lambdaClient, Exchange exchange) {
-        GetAliasResult result;
-        try {
-            GetAliasRequest request = new GetAliasRequest().withFunctionName(getEndpoint().getFunction());
-            String aliasName = exchange.getIn().getHeader(LambdaConstants.FUNCTION_ALIAS_NAME, String.class);
-            if (ObjectHelper.isEmpty(aliasName)) {
-                throw new IllegalArgumentException("Function alias must be specified to get an alias");
-            }
-            request.setName(aliasName);
-            result = lambdaClient.getAlias(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("getAlias command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void listAliases(AWSLambda lambdaClient, Exchange exchange) {
-        ListAliasesResult result;
-        try {
-            ListAliasesRequest request = new ListAliasesRequest().withFunctionName(getEndpoint().getFunction());
-            String version = exchange.getIn().getHeader(LambdaConstants.FUNCTION_VERSION, String.class);
-            if (ObjectHelper.isEmpty(version)) {
-                throw new IllegalArgumentException("Function Version must be specified to list aliases for a function");
-            }
-            request.withFunctionVersion(version);
-            result = lambdaClient.listAliases(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("listAliases command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private LambdaOperations determineOperation(Exchange exchange) {
-        LambdaOperations operation = exchange.getIn().getHeader(LambdaConstants.OPERATION, LambdaOperations.class);
-        if (operation == null) {
-            operation = getConfiguration().getOperation() == null
-                    ? LambdaOperations.invokeFunction : getConfiguration().getOperation();
-        }
-        return operation;
-    }
-
-    protected LambdaConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    @Override
-    public LambdaEndpoint getEndpoint() {
-        return (LambdaEndpoint) super.getEndpoint();
-    }
-
-    public static Message getMessageForResponse(final Exchange exchange) {
-        return exchange.getMessage();
-    }
-
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/AmazonLambdaClientMock.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/AmazonLambdaClientMock.java
deleted file mode 100644
index e9cb81d..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/AmazonLambdaClientMock.java
+++ /dev/null
@@ -1,415 +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.lambda;
-
-import java.nio.*;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.AmazonWebServiceRequest;
-import com.amazonaws.ResponseMetadata;
-import com.amazonaws.regions.Region;
-import com.amazonaws.services.lambda.AbstractAWSLambda;
-import com.amazonaws.services.lambda.model.AddPermissionRequest;
-import com.amazonaws.services.lambda.model.AddPermissionResult;
-import com.amazonaws.services.lambda.model.AliasConfiguration;
-import com.amazonaws.services.lambda.model.CreateAliasRequest;
-import com.amazonaws.services.lambda.model.CreateAliasResult;
-import com.amazonaws.services.lambda.model.CreateEventSourceMappingRequest;
-import com.amazonaws.services.lambda.model.CreateEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.CreateFunctionRequest;
-import com.amazonaws.services.lambda.model.CreateFunctionResult;
-import com.amazonaws.services.lambda.model.DeleteAliasRequest;
-import com.amazonaws.services.lambda.model.DeleteAliasResult;
-import com.amazonaws.services.lambda.model.DeleteEventSourceMappingRequest;
-import com.amazonaws.services.lambda.model.DeleteEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.DeleteFunctionConcurrencyRequest;
-import com.amazonaws.services.lambda.model.DeleteFunctionConcurrencyResult;
-import com.amazonaws.services.lambda.model.DeleteFunctionRequest;
-import com.amazonaws.services.lambda.model.DeleteFunctionResult;
-import com.amazonaws.services.lambda.model.EventSourceMappingConfiguration;
-import com.amazonaws.services.lambda.model.FunctionConfiguration;
-import com.amazonaws.services.lambda.model.GetAccountSettingsRequest;
-import com.amazonaws.services.lambda.model.GetAccountSettingsResult;
-import com.amazonaws.services.lambda.model.GetAliasRequest;
-import com.amazonaws.services.lambda.model.GetAliasResult;
-import com.amazonaws.services.lambda.model.GetEventSourceMappingRequest;
-import com.amazonaws.services.lambda.model.GetEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.GetFunctionConfigurationRequest;
-import com.amazonaws.services.lambda.model.GetFunctionConfigurationResult;
-import com.amazonaws.services.lambda.model.GetFunctionRequest;
-import com.amazonaws.services.lambda.model.GetFunctionResult;
-import com.amazonaws.services.lambda.model.GetPolicyRequest;
-import com.amazonaws.services.lambda.model.GetPolicyResult;
-import com.amazonaws.services.lambda.model.InvokeRequest;
-import com.amazonaws.services.lambda.model.InvokeResult;
-import com.amazonaws.services.lambda.model.ListAliasesRequest;
-import com.amazonaws.services.lambda.model.ListAliasesResult;
-import com.amazonaws.services.lambda.model.ListEventSourceMappingsRequest;
-import com.amazonaws.services.lambda.model.ListEventSourceMappingsResult;
-import com.amazonaws.services.lambda.model.ListFunctionsRequest;
-import com.amazonaws.services.lambda.model.ListFunctionsResult;
-import com.amazonaws.services.lambda.model.ListTagsRequest;
-import com.amazonaws.services.lambda.model.ListTagsResult;
-import com.amazonaws.services.lambda.model.ListVersionsByFunctionRequest;
-import com.amazonaws.services.lambda.model.ListVersionsByFunctionResult;
-import com.amazonaws.services.lambda.model.PublishVersionRequest;
-import com.amazonaws.services.lambda.model.PublishVersionResult;
-import com.amazonaws.services.lambda.model.PutFunctionConcurrencyRequest;
-import com.amazonaws.services.lambda.model.PutFunctionConcurrencyResult;
-import com.amazonaws.services.lambda.model.RemovePermissionRequest;
-import com.amazonaws.services.lambda.model.RemovePermissionResult;
-import com.amazonaws.services.lambda.model.Runtime;
-import com.amazonaws.services.lambda.model.TagResourceRequest;
-import com.amazonaws.services.lambda.model.TagResourceResult;
-import com.amazonaws.services.lambda.model.TracingConfigResponse;
-import com.amazonaws.services.lambda.model.TracingMode;
-import com.amazonaws.services.lambda.model.UntagResourceRequest;
-import com.amazonaws.services.lambda.model.UntagResourceResult;
-import com.amazonaws.services.lambda.model.UpdateAliasRequest;
-import com.amazonaws.services.lambda.model.UpdateAliasResult;
-import com.amazonaws.services.lambda.model.UpdateEventSourceMappingRequest;
-import com.amazonaws.services.lambda.model.UpdateEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.UpdateFunctionCodeRequest;
-import com.amazonaws.services.lambda.model.UpdateFunctionCodeResult;
-import com.amazonaws.services.lambda.model.UpdateFunctionConfigurationRequest;
-import com.amazonaws.services.lambda.model.UpdateFunctionConfigurationResult;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.joda.time.DateTime;
-
-public class AmazonLambdaClientMock extends AbstractAWSLambda {
-
-    public AmazonLambdaClientMock() {
-    }
-
-    @Override
-    public AddPermissionResult addPermission(AddPermissionRequest addPermissionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public CreateAliasResult createAlias(CreateAliasRequest createAliasRequest) {
-        CreateAliasResult result = new CreateAliasResult();
-        result.setFunctionVersion("1");
-        result.setName("alias");
-        result.setDescription("an alias");
-        return result;
-    }
-
-    @Override
-    public CreateEventSourceMappingResult createEventSourceMapping(
-            CreateEventSourceMappingRequest createEventSourceMappingRequest) {
-        CreateEventSourceMappingResult result = new CreateEventSourceMappingResult();
-        result.setBatchSize(100);
-        result.setFunctionArn(
-                "arn:aws:lambda:eu-central-1:643534317684:function:" + createEventSourceMappingRequest.getFunctionName());
-        result.setState("Enabled");
-        result.setEventSourceArn("arn:aws:sqs:eu-central-1:643534317684:testqueue");
-        return result;
-    }
-
-    @Override
-    public CreateFunctionResult createFunction(CreateFunctionRequest createFunctionRequest) {
-
-        CreateFunctionResult result = new CreateFunctionResult();
-
-        result.setFunctionName(createFunctionRequest.getFunctionName());
-        result.setDeadLetterConfig(createFunctionRequest.getDeadLetterConfig());
-        result.setDescription(createFunctionRequest.getDescription());
-        result.setHandler(createFunctionRequest.getHandler());
-        result.setFunctionArn("arn:aws:lambda:eu-central-1:643534317684:function:" + createFunctionRequest.getFunctionName());
-
-        try {
-            Runtime runtime = Runtime.fromValue(createFunctionRequest.getRuntime());
-            result.setRuntime(runtime);
-        } catch (Exception e) {
-            throw new AmazonServiceException(
-                    "validation error detected: Value '"
-                                             + createFunctionRequest.getRuntime()
-                                             + "' at 'runtime' failed to satisfy constraint: Member must satisfy enum value set: [java8, nodejs, nodejs4.3, nodejs6.10, python2.7, python3.6, dotnetcore1.0]");
-        }
-
-        result.setRole("arn:aws:iam::643534317684:role/" + createFunctionRequest.getRole());
-        result.setCodeSize(340L);
-        result.setCodeSha256("PKt5ygvZ6G8vWJASlWIypsBmKzAdmRrvTO");
-        result.setMemorySize(128);
-        result.setTimeout(3);
-        result.setLastModified(DateTime.now().toString());
-        result.setVersion("$LATEST");
-        result.setTracingConfig(new TracingConfigResponse().withMode(TracingMode.PassThrough));
-        return result;
-    }
-
-    @Override
-    public DeleteAliasResult deleteAlias(DeleteAliasRequest deleteAliasRequest) {
-        DeleteAliasResult res = new DeleteAliasResult();
-        return res;
-    }
-
-    @Override
-    public DeleteEventSourceMappingResult deleteEventSourceMapping(
-            DeleteEventSourceMappingRequest deleteEventSourceMappingRequest) {
-        DeleteEventSourceMappingResult result = new DeleteEventSourceMappingResult();
-        result.setUUID("a1239494949382882383");
-        result.setState("Deleting");
-        return result;
-    }
-
-    @Override
-    public DeleteFunctionResult deleteFunction(DeleteFunctionRequest deleteFunctionRequest) {
-        return new DeleteFunctionResult();
-    }
-
-    @Override
-    public GetAccountSettingsResult getAccountSettings(GetAccountSettingsRequest getAccountSettingsRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetAliasResult getAlias(GetAliasRequest getAliasRequest) {
-        GetAliasResult result = new GetAliasResult();
-        result.setName("alias");
-        result.setDescription("an alias");
-        result.setFunctionVersion("1");
-        return result;
-    }
-
-    @Override
-    public GetEventSourceMappingResult getEventSourceMapping(GetEventSourceMappingRequest getEventSourceMappingRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetFunctionResult getFunction(GetFunctionRequest getFunctionRequest) {
-
-        GetFunctionResult result = new GetFunctionResult();
-        FunctionConfiguration configuration = new FunctionConfiguration();
-        configuration.setFunctionName(getFunctionRequest.getFunctionName());
-        configuration
-                .setFunctionArn("arn:aws:lambda:eu-central-1:643534317684:function:" + getFunctionRequest.getFunctionName());
-        configuration.setRuntime("nodejs6.10");
-        configuration.setRole("arn:aws:iam::643534317684:role/lambda-execution-role");
-        configuration.setHandler(getFunctionRequest.getFunctionName() + ".handler");
-        configuration.setCodeSize(640L);
-        configuration.setCodeSha256("PKt5ygvZ6G8vWJASlWIypsBmKzAdmRrvTO/eBH06mBA=");
-        configuration.setMemorySize(128);
-        configuration.setTimeout(3);
-        configuration.setLastModified(DateTime.now().toString());
-        configuration.setVersion("$LATEST");
-        configuration.setTracingConfig(new TracingConfigResponse().withMode(TracingMode.PassThrough));
-        result.setConfiguration(configuration);
-        return result;
-    }
-
-    @Override
-    public GetFunctionConfigurationResult getFunctionConfiguration(
-            GetFunctionConfigurationRequest getFunctionConfigurationRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public GetPolicyResult getPolicy(GetPolicyRequest getPolicyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public InvokeResult invoke(InvokeRequest invokeRequest) {
-        InvokeResult result = new InvokeResult();
-
-        Map<String, String> payload = new HashMap<>();
-        try {
-            ObjectMapper mapper = new ObjectMapper();
-            payload = mapper.readValue(StandardCharsets.UTF_8.decode(invokeRequest.getPayload()).toString(),
-                    new TypeReference<Map<String, String>>() {
-                    });
-        } catch (Exception e) {
-
-        }
-        String responsePayload = "{\"Hello\":\"" + payload.get("name") + "\"}";
-        result.setPayload(ByteBuffer.wrap(responsePayload.getBytes()));
-        return result;
-    }
-
-    @Override
-    public ListAliasesResult listAliases(ListAliasesRequest listAliasesRequest) {
-        ListAliasesResult result = new ListAliasesResult();
-        AliasConfiguration conf = new AliasConfiguration();
-        List<AliasConfiguration> list = new ArrayList<AliasConfiguration>();
-        conf.setName("alias");
-        conf.setDescription("an alias");
-        conf.setFunctionVersion("1");
-        list.add(conf);
-        result.setAliases(list);
-        return result;
-    }
-
-    @Override
-    public ListEventSourceMappingsResult listEventSourceMappings(
-            ListEventSourceMappingsRequest listEventSourceMappingsRequest) {
-        ListEventSourceMappingsResult result = new ListEventSourceMappingsResult();
-        List<EventSourceMappingConfiguration> confList = new ArrayList<>();
-        EventSourceMappingConfiguration conf = new EventSourceMappingConfiguration();
-        conf.setBatchSize(100);
-        conf.setFunctionArn(
-                "arn:aws:lambda:eu-central-1:643534317684:function:" + listEventSourceMappingsRequest.getFunctionName());
-        conf.setState("Enabled");
-        conf.setEventSourceArn("arn:aws:sqs:eu-central-1:643534317684:testqueue");
-        confList.add(conf);
-        result.setEventSourceMappings(confList);
-        return result;
-    }
-
-    @Override
-    public ListEventSourceMappingsResult listEventSourceMappings() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListFunctionsResult listFunctions(ListFunctionsRequest listFunctionsRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ListFunctionsResult listFunctions() {
-
-        ListFunctionsResult result = new ListFunctionsResult();
-        Collection<FunctionConfiguration> listFunctions = new ArrayList<>();
-        FunctionConfiguration configuration = new FunctionConfiguration();
-        configuration.setFunctionName("GetHelloWithName");
-        configuration.setFunctionArn("arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-        configuration.setRuntime("nodejs6.10");
-        configuration.setRole("arn:aws:iam::643534317684:role/lambda-execution-role");
-        configuration.setHandler("GetHelloWithName.handler");
-        configuration.setCodeSize(640L);
-        configuration.setCodeSha256("PKt5ygvZ6G8vWJASlWIypsBmKzAdmRrvTO/eBH06mBA=");
-        configuration.setMemorySize(128);
-        configuration.setTimeout(3);
-        configuration.setLastModified(DateTime.now().toString());
-        configuration.setVersion("$LATEST");
-        configuration.setTracingConfig(new TracingConfigResponse().withMode(TracingMode.PassThrough));
-        listFunctions.add(configuration);
-        result.setFunctions(listFunctions);
-        return result;
-    }
-
-    @Override
-    public ListTagsResult listTags(ListTagsRequest listTagsRequest) {
-        ListTagsResult result = new ListTagsResult();
-        result.addTagsEntry("test", "lambda-tag");
-        return result;
-    }
-
-    @Override
-    public ListVersionsByFunctionResult listVersionsByFunction(ListVersionsByFunctionRequest listVersionsByFunctionRequest) {
-        ListVersionsByFunctionResult res = new ListVersionsByFunctionResult();
-        FunctionConfiguration conf = new FunctionConfiguration();
-        conf.setVersion("1");
-        conf.setFunctionName(listVersionsByFunctionRequest.getFunctionName());
-        res.setVersions(Collections.singleton(conf));
-        return res;
-    }
-
-    @Override
-    public PublishVersionResult publishVersion(PublishVersionRequest publishVersionRequest) {
-        PublishVersionResult res = new PublishVersionResult();
-        res.setFunctionName(publishVersionRequest.getFunctionName());
-        res.setDescription(publishVersionRequest.getDescription());
-        return res;
-    }
-
-    @Override
-    public RemovePermissionResult removePermission(RemovePermissionRequest removePermissionRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public TagResourceResult tagResource(TagResourceRequest tagResourceRequest) {
-        TagResourceResult res = new TagResourceResult();
-        return res;
-    }
-
-    @Override
-    public UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest) {
-        UntagResourceResult res = new UntagResourceResult();
-        return res;
-    }
-
-    @Override
-    public UpdateAliasResult updateAlias(UpdateAliasRequest updateAliasRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateEventSourceMappingResult updateEventSourceMapping(
-            UpdateEventSourceMappingRequest updateEventSourceMappingRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public UpdateFunctionCodeResult updateFunctionCode(UpdateFunctionCodeRequest updateFunctionCodeRequest) {
-        UpdateFunctionCodeResult result = new UpdateFunctionCodeResult();
-
-        result.setFunctionName(updateFunctionCodeRequest.getFunctionName());
-        result.setFunctionArn(
-                "arn:aws:lambda:eu-central-1:643534317684:function:" + updateFunctionCodeRequest.getFunctionName());
-        result.setCodeSize(340L);
-        result.setCodeSha256("PKt5ygvZ6G8vWJASlWIypsBmKzAdmRrvTO");
-        result.setMemorySize(128);
-        result.setTimeout(3);
-        result.setLastModified(DateTime.now().toString());
-        result.setVersion("$LATEST");
-        result.setTracingConfig(new TracingConfigResponse().withMode(TracingMode.PassThrough));
-        return result;
-    }
-
-    @Override
-    public UpdateFunctionConfigurationResult updateFunctionConfiguration(
-            UpdateFunctionConfigurationRequest updateFunctionConfigurationRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest amazonWebServiceRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setEndpoint(String endpoint) {
-    }
-
-    @Override
-    public void setRegion(Region region) {
-    }
-
-    @Override
-    public DeleteFunctionConcurrencyResult deleteFunctionConcurrency(
-            DeleteFunctionConcurrencyRequest deleteFunctionConcurrencyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public PutFunctionConcurrencyResult putFunctionConcurrency(PutFunctionConcurrencyRequest putFunctionConcurrencyRequest) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void shutdown() {
-        throw new UnsupportedOperationException();
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentClientRegistryTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentClientRegistryTest.java
deleted file mode 100644
index 9d7bbe6..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentClientRegistryTest.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.lambda;
-
-import com.amazonaws.services.lambda.AWSLambdaClient;
-import org.apache.camel.PropertyBindingException;
-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;
-import static org.mockito.Mockito.mock;
-
-public class LambdaComponentClientRegistryTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalKMSClientConfiguration() throws Exception {
-
-        AWSLambdaClient awsLambdaClient = mock(AWSLambdaClient.class);
-        context.getRegistry().bind("awsLambdaClient", awsLambdaClient);
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        LambdaEndpoint endpoint = (LambdaEndpoint) component.createEndpoint(
-                "aws-lambda://myFunction?operation=getFunction&awsLambdaClient=#awsLambdaClient&accessKey=xxx&secretKey=yyy");
-
-        assertNotNull(endpoint.getConfiguration().getAwsLambdaClient());
-    }
-
-    @Test
-    public void createEndpointWithMinimalKMSClientMisconfiguration() throws Exception {
-
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        assertThrows(PropertyBindingException.class,
-                () -> component.createEndpoint(
-                        "aws-lambda://myFunction?operation=getFunction&awsLambdaClient=#awsLambdaClient&accessKey=xxx&secretKey=yyy"));
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientFalse() throws Exception {
-
-        AWSLambdaClient awsLambdaClient = mock(AWSLambdaClient.class);
-        context.getRegistry().bind("awsLambdaClient", awsLambdaClient);
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        LambdaEndpoint endpoint = (LambdaEndpoint) component.createEndpoint(
-                "aws-lambda://myFunction?operation=getFunction&accessKey=xxx&secretKey=yyy&autoDiscoverClient=false");
-
-        assertNotSame(awsLambdaClient, endpoint.getConfiguration().getAwsLambdaClient());
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientTrue() throws Exception {
-
-        AWSLambdaClient awsLambdaClient = mock(AWSLambdaClient.class);
-        context.getRegistry().bind("awsLambdaClient", awsLambdaClient);
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        LambdaEndpoint endpoint = (LambdaEndpoint) component.createEndpoint(
-                "aws-lambda://myFunction?operation=getFunction&accessKey=xxx&secretKey=yyy");
-
-        assertSame(awsLambdaClient, endpoint.getConfiguration().getAwsLambdaClient());
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java
deleted file mode 100644
index e0ae0e7..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java
+++ /dev/null
@@ -1,124 +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.lambda;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.lambda.AWSLambdaClient;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.mock;
-
-public class LambdaComponentConfigurationTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalConfiguration() throws Exception {
-        AWSLambdaClient awsLambdaClient = mock(AWSLambdaClient.class);
-        context.getRegistry().bind("awsLambdaClient", awsLambdaClient);
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        LambdaEndpoint endpoint = (LambdaEndpoint) component.createEndpoint(
-                "aws-lambda://myFunction?operation=getFunction&awsLambdaClient=#awsLambdaClient&accessKey=xxx&secretKey=yyy");
-
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAwsLambdaClient());
-    }
-
-    @Test
-    public void createEndpointWithoutOperation() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-lambda://myFunction"));
-    }
-
-    @Test
-    public void createEndpointWithoutAmazonLambdaClientConfiguration() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-lambda://myFunction?operation=getFunction"));
-    }
-
-    @Test
-    public void createEndpointWithoutAccessKeyConfiguration() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-lambda://myFunction?operation=getFunction&secretKey=yyy"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyConfiguration() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-lambda://myFunction?operation=getFunction&accessKey=xxx"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyAndAccessKeyConfiguration() throws Exception {
-        AWSLambdaClient awsLambdaClient = mock(AWSLambdaClient.class);
-        context.getRegistry().bind("awsLambdaClient", awsLambdaClient);
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        component.createEndpoint("aws-lambda://myFunction?operation=getFunction&awsLambdaClient=#awsLambdaClient");
-    }
-
-    @Test
-    public void createEndpointWithComponentElements() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        LambdaEndpoint endpoint = (LambdaEndpoint) component.createEndpoint("aws-lambda://myFunction");
-
-        assertEquals("myFunction", endpoint.getFunction());
-        assertEquals("XXX", endpoint.getConfiguration().getAccessKey());
-        assertEquals("YYY", endpoint.getConfiguration().getSecretKey());
-    }
-
-    @Test
-    public void createEndpointWithComponentAndEndpointElements() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        LambdaEndpoint endpoint = (LambdaEndpoint) component
-                .createEndpoint("aws-lambda://myFunction?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1");
-
-        assertEquals("myFunction", endpoint.getFunction());
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithComponentEndpointElementsAndProxy() throws Exception {
-        LambdaComponent component = context.getComponent("aws-lambda", LambdaComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        LambdaEndpoint endpoint = (LambdaEndpoint) component.createEndpoint(
-                "aws-lambda://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-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest.java
deleted file mode 100644
index 423abf7..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest.java
+++ /dev/null
@@ -1,343 +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.lambda;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.amazonaws.services.lambda.model.CreateAliasResult;
-import com.amazonaws.services.lambda.model.CreateEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.CreateFunctionResult;
-import com.amazonaws.services.lambda.model.DeleteAliasResult;
-import com.amazonaws.services.lambda.model.DeleteEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.DeleteFunctionResult;
-import com.amazonaws.services.lambda.model.GetAliasResult;
-import com.amazonaws.services.lambda.model.GetFunctionResult;
-import com.amazonaws.services.lambda.model.ListAliasesResult;
-import com.amazonaws.services.lambda.model.ListEventSourceMappingsResult;
-import com.amazonaws.services.lambda.model.ListFunctionsResult;
-import com.amazonaws.services.lambda.model.ListTagsResult;
-import com.amazonaws.services.lambda.model.ListVersionsByFunctionResult;
-import com.amazonaws.services.lambda.model.PublishVersionResult;
-import com.amazonaws.services.lambda.model.TagResourceResult;
-import com.amazonaws.services.lambda.model.UntagResourceResult;
-import com.amazonaws.util.IOUtils;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class LambdaComponentSpringTest extends CamelSpringTestSupport {
-
-    @Test
-    public void lambdaCreateFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:createFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.RUNTIME, "nodejs6.10");
-                exchange.getIn().setHeader(LambdaConstants.HANDLER, "GetHelloWithName.handler");
-                exchange.getIn().setHeader(LambdaConstants.DESCRIPTION, "Hello with node.js on Lambda");
-                exchange.getIn().setHeader(LambdaConstants.ROLE, "arn:aws:iam::643534317684:role/lambda-execution-role");
-
-                ClassLoader classLoader = getClass().getClassLoader();
-                File file = new File(
-                        classLoader.getResource("org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip")
-                                .getFile());
-                FileInputStream inputStream = new FileInputStream(file);
-                exchange.getIn().setBody(IOUtils.toByteArray(inputStream));
-            }
-        });
-
-        CreateFunctionResult result = (CreateFunctionResult) exchange.getMessage().getBody();
-        assertEquals("GetHelloWithName", result.getFunctionName());
-        assertEquals("Hello with node.js on Lambda", result.getDescription());
-        assertNotNull(result.getFunctionArn());
-        assertNotNull(result.getCodeSha256());
-    }
-
-    @Test
-    public void lambdaDeleteFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:deleteFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-        assertNotNull(exchange.getMessage().getBody(DeleteFunctionResult.class));
-    }
-
-    @Test
-    public void lambdaGetFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:getFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-        GetFunctionResult result = (GetFunctionResult) exchange.getMessage().getBody();
-        assertEquals("GetHelloWithName", result.getConfiguration().getFunctionName());
-    }
-
-    @Test
-    public void lambdaListFunctionsTest() throws Exception {
-        Exchange exchange = template.send("direct:listFunctions", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-
-        ListFunctionsResult result = (ListFunctionsResult) exchange.getMessage().getBody();
-        assertEquals(1, result.getFunctions().size());
-        assertEquals("GetHelloWithName", result.getFunctions().get(0).getFunctionName());
-    }
-
-    @Test
-    public void lambdaInvokeFunctionTest() throws Exception {
-        Exchange exchange = template.send("direct:invokeFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("{\"name\":\"Camel\"}");
-            }
-        });
-
-        assertNotNull(exchange.getMessage().getBody(String.class));
-        assertEquals("{\"Hello\":\"Camel\"}", exchange.getMessage().getBody(String.class));
-    }
-
-    @Test
-    public void lambdaCreateEventSourceMappingTest() throws Exception {
-        Exchange exchange = template.send("direct:createEventSourceMapping", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.EVENT_SOURCE_ARN, "arn:aws:sqs:eu-central-1:643534317684:testqueue");
-                exchange.getIn().setHeader(LambdaConstants.EVENT_SOURCE_BATCH_SIZE, 100);
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        CreateEventSourceMappingResult result = exchange.getMessage().getBody(CreateEventSourceMappingResult.class);
-        assertEquals("arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName", result.getFunctionArn());
-    }
-
-    @Test
-    public void lambdaDeleteEventSourceMappingTest() throws Exception {
-        Exchange exchange = template.send("direct:deleteEventSourceMapping", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.EVENT_SOURCE_UUID, "a1239494949382882383");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        DeleteEventSourceMappingResult result = exchange.getMessage().getBody(DeleteEventSourceMappingResult.class);
-        assertTrue(result.getState().equalsIgnoreCase("Deleting"));
-    }
-
-    @Test
-    public void lambdaListEventSourceMappingTest() throws Exception {
-        Exchange exchange = template.send("direct:listEventSourceMapping", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListEventSourceMappingsResult result = exchange.getMessage().getBody(ListEventSourceMappingsResult.class);
-        assertEquals("arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName",
-                result.getEventSourceMappings().get(0).getFunctionArn());
-    }
-
-    @Test
-    public void lambdaListTagsTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listTags", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_ARN,
-                        "arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListTagsResult result = (ListTagsResult) exchange.getMessage().getBody();
-        assertEquals("lambda-tag", result.getTags().get("test"));
-    }
-
-    @Test
-    public void tagResourceTest() throws Exception {
-
-        Exchange exchange = template.send("direct:tagResource", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Map<String, String> tags = new HashMap<>();
-                tags.put("test", "added-tag");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_ARN,
-                        "arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_TAGS, tags);
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        TagResourceResult result = (TagResourceResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-    }
-
-    @Test
-    public void untagResourceTest() throws Exception {
-
-        Exchange exchange = template.send("direct:untagResource", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                List<String> tagKeys = new ArrayList<>();
-                tagKeys.add("test");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_ARN,
-                        "arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_TAG_KEYS, tagKeys);
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        UntagResourceResult result = (UntagResourceResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-    }
-
-    @Test
-    public void publishVersionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:publishVersion", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.VERSION_DESCRIPTION, "This is my description");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        PublishVersionResult result = (PublishVersionResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("GetHelloWithName", result.getFunctionName());
-        assertEquals("This is my description", result.getDescription());
-    }
-
-    @Test
-    public void listVersionsTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listVersions", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.VERSION_DESCRIPTION, "This is my description");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListVersionsByFunctionResult result = (ListVersionsByFunctionResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("GetHelloWithName", result.getVersions().get(0).getFunctionName());
-        assertEquals("1", result.getVersions().get(0).getVersion());
-    }
-
-    @Test
-    public void createAliasTest() throws Exception {
-
-        Exchange exchange = template.send("direct:createAlias", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_DESCRIPTION, "an alias");
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_NAME, "alias");
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_VERSION, "1");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        CreateAliasResult result = (CreateAliasResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("an alias", result.getDescription());
-        assertEquals("alias", result.getName());
-        assertEquals("1", result.getFunctionVersion());
-    }
-
-    @Test
-    public void deleteAliasTest() throws Exception {
-
-        Exchange exchange = template.send("direct:deleteAlias", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_NAME, "alias");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        DeleteAliasResult result = (DeleteAliasResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-    }
-
-    @Test
-    public void getAliasTest() throws Exception {
-
-        Exchange exchange = template.send("direct:getAlias", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_NAME, "alias");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        GetAliasResult result = (GetAliasResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("an alias", result.getDescription());
-        assertEquals("alias", result.getName());
-        assertEquals("1", result.getFunctionVersion());
-    }
-
-    @Test
-    public void listAliasesTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listAliases", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_VERSION, "1");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListAliasesResult result = (ListAliasesResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("an alias", result.getAliases().get(0).getDescription());
-        assertEquals("alias", result.getAliases().get(0).getName());
-        assertEquals("1", result.getAliases().get(0).getFunctionVersion());
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext(
-                "org/apache/camel/component/aws/lambda/LambdaComponentSpringTest-context.xml");
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtensionTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtensionTest.java
deleted file mode 100644
index 6c57974..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentVerifierExtensionTest.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.lambda;
-
-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 LambdaComponentVerifierExtensionTest extends CamelTestSupport {
-
-    // *************************************************
-    // Tests (parameters)
-    // *************************************************
-    @Override
-    public boolean isUseRouteBuilder() {
-        return false;
-    }
-
-    @Test
-    public void testParameters() throws Exception {
-        Component component = context().getComponent("aws-lambda");
-
-        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("function", "myfunction");
-        parameters.put("operation", "invokeFunction");
-
-        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-lambda");
-        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("function", "myfunction");
-        parameters.put("operation", "invokeFunction");
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, result.getStatus());
-    }
-
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaOperationsTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaOperationsTest.java
deleted file mode 100644
index 096c5da..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaOperationsTest.java
+++ /dev/null
@@ -1,73 +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.lambda;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class LambdaOperationsTest {
-
-    @Test
-    public void supportedOperationCount() {
-        assertEquals(18, LambdaOperations.values().length);
-    }
-
-    @Test
-    public void valueOf() {
-        assertEquals(LambdaOperations.createFunction, LambdaOperations.valueOf("createFunction"));
-        assertEquals(LambdaOperations.getFunction, LambdaOperations.valueOf("getFunction"));
-        assertEquals(LambdaOperations.listFunctions, LambdaOperations.valueOf("listFunctions"));
-        assertEquals(LambdaOperations.invokeFunction, LambdaOperations.valueOf("invokeFunction"));
-        assertEquals(LambdaOperations.deleteFunction, LambdaOperations.valueOf("deleteFunction"));
-        assertEquals(LambdaOperations.updateFunction, LambdaOperations.valueOf("updateFunction"));
-        assertEquals(LambdaOperations.createEventSourceMapping, LambdaOperations.valueOf("createEventSourceMapping"));
-        assertEquals(LambdaOperations.deleteEventSourceMapping, LambdaOperations.valueOf("deleteEventSourceMapping"));
-        assertEquals(LambdaOperations.listEventSourceMapping, LambdaOperations.valueOf("listEventSourceMapping"));
-        assertEquals(LambdaOperations.listTags, LambdaOperations.valueOf("listTags"));
-        assertEquals(LambdaOperations.tagResource, LambdaOperations.valueOf("tagResource"));
-        assertEquals(LambdaOperations.untagResource, LambdaOperations.valueOf("untagResource"));
-        assertEquals(LambdaOperations.publishVersion, LambdaOperations.valueOf("publishVersion"));
-        assertEquals(LambdaOperations.listVersions, LambdaOperations.valueOf("listVersions"));
-        assertEquals(LambdaOperations.createAlias, LambdaOperations.valueOf("createAlias"));
-        assertEquals(LambdaOperations.deleteAlias, LambdaOperations.valueOf("deleteAlias"));
-        assertEquals(LambdaOperations.getAlias, LambdaOperations.valueOf("getAlias"));
-        assertEquals(LambdaOperations.listAliases, LambdaOperations.valueOf("listAliases"));
-    }
-
-    @Test
-    public void testToString() {
-        assertEquals("createFunction", LambdaOperations.createFunction.toString());
-        assertEquals("getFunction", LambdaOperations.getFunction.toString());
-        assertEquals("listFunctions", LambdaOperations.listFunctions.toString());
-        assertEquals("invokeFunction", LambdaOperations.invokeFunction.toString());
-        assertEquals("deleteFunction", LambdaOperations.deleteFunction.toString());
-        assertEquals("updateFunction", LambdaOperations.updateFunction.toString());
-        assertEquals("createEventSourceMapping", LambdaOperations.createEventSourceMapping.toString());
-        assertEquals("deleteEventSourceMapping", LambdaOperations.deleteEventSourceMapping.toString());
-        assertEquals("listEventSourceMapping", LambdaOperations.listEventSourceMapping.toString());
-        assertEquals("listTags", LambdaOperations.listTags.toString());
-        assertEquals("tagResource", LambdaOperations.tagResource.toString());
-        assertEquals("untagResource", LambdaOperations.untagResource.toString());
-        assertEquals("publishVersion", LambdaOperations.publishVersion.toString());
-        assertEquals("listVersions", LambdaOperations.listVersions.toString());
-        assertEquals("createAlias", LambdaOperations.createAlias.toString());
-        assertEquals("deleteAlias", LambdaOperations.deleteAlias.toString());
-        assertEquals("getAlias", LambdaOperations.getAlias.toString());
-        assertEquals("listAliases", LambdaOperations.listAliases.toString());
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerDefaultFunctionTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerDefaultFunctionTest.java
deleted file mode 100644
index cb9c2c9..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerDefaultFunctionTest.java
+++ /dev/null
@@ -1,66 +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.lambda;
-
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-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 LambdaProducerDefaultFunctionTest extends CamelTestSupport {
-
-    @BindToRegistry("awsLambdaClient")
-    AmazonLambdaClientMock clientMock = new AmazonLambdaClientMock();
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @Test
-    public void lambdaInvokeFunctionTest() throws Exception {
-        Exchange exchange = template.send("direct:invokeFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("{\"name\":\"Camel\"}");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        assertNotNull(exchange.getMessage().getBody(String.class));
-        assertEquals("{\"Hello\":\"Camel\"}", exchange.getMessage().getBody(String.class));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-
-                from("direct:invokeFunction").to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient")
-                        .to("mock:result");
-
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerTest.java
deleted file mode 100644
index e877d3d..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaProducerTest.java
+++ /dev/null
@@ -1,461 +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.lambda;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.amazonaws.services.lambda.model.CreateAliasResult;
-import com.amazonaws.services.lambda.model.CreateEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.CreateFunctionResult;
-import com.amazonaws.services.lambda.model.DeleteAliasResult;
-import com.amazonaws.services.lambda.model.DeleteEventSourceMappingResult;
-import com.amazonaws.services.lambda.model.DeleteFunctionResult;
-import com.amazonaws.services.lambda.model.GetAliasResult;
-import com.amazonaws.services.lambda.model.GetFunctionResult;
-import com.amazonaws.services.lambda.model.ListAliasesResult;
-import com.amazonaws.services.lambda.model.ListEventSourceMappingsResult;
-import com.amazonaws.services.lambda.model.ListFunctionsResult;
-import com.amazonaws.services.lambda.model.ListTagsResult;
-import com.amazonaws.services.lambda.model.ListVersionsByFunctionResult;
-import com.amazonaws.services.lambda.model.PublishVersionResult;
-import com.amazonaws.services.lambda.model.TagResourceResult;
-import com.amazonaws.services.lambda.model.UntagResourceResult;
-import com.amazonaws.services.lambda.model.UpdateFunctionCodeResult;
-import com.amazonaws.util.IOUtils;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class LambdaProducerTest extends CamelTestSupport {
-
-    @BindToRegistry("awsLambdaClient")
-    AmazonLambdaClientMock clientMock = new AmazonLambdaClientMock();
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @Test
-    public void lambdaCreateFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:createFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.RUNTIME, "nodejs6.10");
-                exchange.getIn().setHeader(LambdaConstants.HANDLER, "GetHelloWithName.handler");
-                exchange.getIn().setHeader(LambdaConstants.DESCRIPTION, "Hello with node.js on Lambda");
-                exchange.getIn().setHeader(LambdaConstants.ROLE, "arn:aws:iam::643534317684:role/lambda-execution-role");
-
-                ClassLoader classLoader = getClass().getClassLoader();
-                File file = new File(
-                        classLoader.getResource("org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip")
-                                .getFile());
-                FileInputStream inputStream = new FileInputStream(file);
-                exchange.getIn().setBody(IOUtils.toByteArray(inputStream));
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateFunctionResult result = (CreateFunctionResult) exchange.getIn().getBody();
-        assertEquals("GetHelloWithName", result.getFunctionName());
-        assertEquals("Hello with node.js on Lambda", result.getDescription());
-        assertNotNull(result.getFunctionArn());
-        assertNotNull(result.getCodeSha256());
-    }
-
-    @Test
-    public void lambdaUpdateFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:updateFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.RUNTIME, "nodejs6.10");
-                exchange.getIn().setHeader(LambdaConstants.HANDLER, "GetHelloWithName.handler");
-                exchange.getIn().setHeader(LambdaConstants.DESCRIPTION, "Hello with node.js on Lambda");
-                exchange.getIn().setHeader(LambdaConstants.ROLE, "arn:aws:iam::643534317684:role/lambda-execution-role");
-
-                ClassLoader classLoader = getClass().getClassLoader();
-                File file = new File(
-                        classLoader.getResource("org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip")
-                                .getFile());
-                FileInputStream inputStream = new FileInputStream(file);
-                exchange.getIn().setBody(IOUtils.toByteArray(inputStream));
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        UpdateFunctionCodeResult result = (UpdateFunctionCodeResult) exchange.getIn().getBody();
-        assertEquals("GetHelloWithName", result.getFunctionName());
-        assertNotNull(result.getFunctionArn());
-        assertNotNull(result.getCodeSha256());
-    }
-
-    @Test
-    public void lambdaDeleteFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:deleteFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-        assertNotNull(exchange.getMessage().getBody(DeleteFunctionResult.class));
-    }
-
-    @Test
-    public void lambdaGetFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:getFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        GetFunctionResult result = (GetFunctionResult) exchange.getMessage().getBody();
-        assertEquals("GetHelloWithName", result.getConfiguration().getFunctionName());
-    }
-
-    @Test
-    public void lambdaListFunctionsTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listFunctions", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListFunctionsResult result = (ListFunctionsResult) exchange.getMessage().getBody();
-        assertEquals(1, result.getFunctions().size());
-        assertEquals("GetHelloWithName", result.getFunctions().get(0).getFunctionName());
-    }
-
-    @Test
-    public void lambdaInvokeFunctionTest() throws Exception {
-        Exchange exchange = template.send("direct:invokeFunction", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("{\"name\":\"Camel\"}");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        assertNotNull(exchange.getMessage().getBody(String.class));
-        assertEquals("{\"Hello\":\"Camel\"}", exchange.getMessage().getBody(String.class));
-    }
-
-    @Test
-    public void lambdaCreateEventSourceMappingTest() throws Exception {
-        Exchange exchange = template.send("direct:createEventSourceMapping", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.EVENT_SOURCE_ARN, "arn:aws:sqs:eu-central-1:643534317684:testqueue");
-                exchange.getIn().setHeader(LambdaConstants.EVENT_SOURCE_BATCH_SIZE, 100);
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        CreateEventSourceMappingResult result = exchange.getMessage().getBody(CreateEventSourceMappingResult.class);
-        assertEquals("arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName", result.getFunctionArn());
-    }
-
-    @Test
-    public void lambdaDeleteEventSourceMappingTest() throws Exception {
-        Exchange exchange = template.send("direct:deleteEventSourceMapping", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.EVENT_SOURCE_UUID, "a1239494949382882383");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        DeleteEventSourceMappingResult result = exchange.getMessage().getBody(DeleteEventSourceMappingResult.class);
-        assertTrue(result.getState().equalsIgnoreCase("Deleting"));
-    }
-
-    @Test
-    public void lambdaListEventSourceMappingTest() throws Exception {
-        Exchange exchange = template.send("direct:listEventSourceMapping", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListEventSourceMappingsResult result = exchange.getMessage().getBody(ListEventSourceMappingsResult.class);
-        assertEquals("arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName",
-                result.getEventSourceMappings().get(0).getFunctionArn());
-    }
-
-    @Test
-    public void lambdaListTagsTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listTags", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_ARN,
-                        "arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListTagsResult result = (ListTagsResult) exchange.getMessage().getBody();
-        assertEquals("lambda-tag", result.getTags().get("test"));
-    }
-
-    @Test
-    public void tagResourceTest() throws Exception {
-
-        Exchange exchange = template.send("direct:tagResource", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Map<String, String> tags = new HashMap<>();
-                tags.put("test", "added-tag");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_ARN,
-                        "arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_TAGS, tags);
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        TagResourceResult result = (TagResourceResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-    }
-
-    @Test
-    public void untagResourceTest() throws Exception {
-
-        Exchange exchange = template.send("direct:untagResource", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                List<String> tagKeys = new ArrayList<>();
-                tagKeys.add("test");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_ARN,
-                        "arn:aws:lambda:eu-central-1:643534317684:function:GetHelloWithName");
-                exchange.getIn().setHeader(LambdaConstants.RESOURCE_TAG_KEYS, tagKeys);
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        UntagResourceResult result = (UntagResourceResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-    }
-
-    @Test
-    public void publishVersionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:publishVersion", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.VERSION_DESCRIPTION, "This is my description");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        PublishVersionResult result = (PublishVersionResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("GetHelloWithName", result.getFunctionName());
-        assertEquals("This is my description", result.getDescription());
-    }
-
-    @Test
-    public void listVersionsTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listVersions", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.VERSION_DESCRIPTION, "This is my description");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListVersionsByFunctionResult result = (ListVersionsByFunctionResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("GetHelloWithName", result.getVersions().get(0).getFunctionName());
-        assertEquals("1", result.getVersions().get(0).getVersion());
-    }
-
-    @Test
-    public void createAliasTest() throws Exception {
-
-        Exchange exchange = template.send("direct:createAlias", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_DESCRIPTION, "an alias");
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_NAME, "alias");
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_VERSION, "1");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        CreateAliasResult result = (CreateAliasResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("an alias", result.getDescription());
-        assertEquals("alias", result.getName());
-        assertEquals("1", result.getFunctionVersion());
-    }
-
-    @Test
-    public void deleteAliasTest() throws Exception {
-
-        Exchange exchange = template.send("direct:deleteAlias", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_NAME, "alias");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        DeleteAliasResult result = (DeleteAliasResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-    }
-
-    @Test
-    public void getAliasTest() throws Exception {
-
-        Exchange exchange = template.send("direct:getAlias", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_ALIAS_NAME, "alias");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        GetAliasResult result = (GetAliasResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("an alias", result.getDescription());
-        assertEquals("alias", result.getName());
-        assertEquals("1", result.getFunctionVersion());
-    }
-
-    @Test
-    public void listAliasesTest() throws Exception {
-
-        Exchange exchange = template.send("direct:listAliases", ExchangePattern.InOut, new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.FUNCTION_VERSION, "1");
-            }
-        });
-        assertMockEndpointsSatisfied();
-
-        ListAliasesResult result = (ListAliasesResult) exchange.getMessage().getBody();
-        assertNotNull(result);
-        assertEquals("an alias", result.getAliases().get(0).getDescription());
-        assertEquals("alias", result.getAliases().get(0).getName());
-        assertEquals("1", result.getAliases().get(0).getFunctionVersion());
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:createFunction")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=createFunction")
-                        .to("mock:result");
-
-                from("direct:getFunction")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=getFunction")
-                        .to("mock:result");
-
-                from("direct:listFunctions")
-                        .to("aws-lambda://myFunction?awsLambdaClient=#awsLambdaClient&operation=listFunctions")
-                        .to("mock:result");
-
-                from("direct:invokeFunction")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=invokeFunction")
-                        .to("mock:result");
-
-                from("direct:deleteFunction")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=deleteFunction")
-                        .to("mock:result");
-
-                from("direct:updateFunction")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=updateFunction")
-                        .to("mock:result");
-
-                from("direct:listTags").to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=listTags")
-                        .to("mock:result");
-
-                from("direct:tagResource")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=tagResource")
-                        .to("mock:result");
-
-                from("direct:untagResource")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=untagResource")
-                        .to("mock:result");
-
-                from("direct:publishVersion")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=publishVersion")
-                        .to("mock:result");
-
-                from("direct:listVersions")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=listVersions")
-                        .to("mock:result");
-
-                from("direct:createEventSourceMapping")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=createEventSourceMapping")
-                        .to("mock:result");
-
-                from("direct:deleteEventSourceMapping")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=deleteEventSourceMapping")
-                        .to("mock:result");
-
-                from("direct:listEventSourceMapping")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=listEventSourceMapping")
-                        .to("mock:result");
-
-                from("direct:createAlias")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=createAlias")
-                        .to("mock:result");
-
-                from("direct:deleteAlias")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=deleteAlias")
-                        .to("mock:result");
-
-                from("direct:getAlias").to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=getAlias")
-                        .to("mock:result");
-
-                from("direct:listAliases")
-                        .to("aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&operation=listAliases")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java
deleted file mode 100644
index 16c091f..0000000
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java
+++ /dev/null
@@ -1,144 +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.lambda.integration;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-import com.amazonaws.services.lambda.model.CreateFunctionResult;
-import com.amazonaws.services.lambda.model.DeleteFunctionResult;
-import com.amazonaws.services.lambda.model.GetFunctionResult;
-import com.amazonaws.services.lambda.model.ListFunctionsResult;
-import com.amazonaws.util.IOUtils;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws.lambda.LambdaConstants;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-@Disabled("Must be manually tested. Provide your own accessKey and secretKey!")
-public class LambdaComponentIntegrationTest extends CamelTestSupport {
-
-    @Test
-    public void lambdaCreateFunctionTest() throws Exception {
-        Exchange exchange = template.send("direct:createFunction", ExchangePattern.InOut, new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(LambdaConstants.RUNTIME, "nodejs6.10");
-                exchange.getIn().setHeader(LambdaConstants.HANDLER, "GetHelloWithName.handler");
-                exchange.getIn().setHeader(LambdaConstants.DESCRIPTION, "Hello with node.js on Lambda");
-                exchange.getIn().setHeader(LambdaConstants.ROLE, "arn:aws:iam::643534317684:role/lambda-execution-role");
-
-                ClassLoader classLoader = getClass().getClassLoader();
-                File file = new File(
-                        classLoader.getResource("org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip")
-                                .getFile());
-                FileInputStream inputStream = new FileInputStream(file);
-                exchange.getIn().setBody(IOUtils.toByteArray(inputStream));
-            }
-        });
-        assertNotNull(exchange.getMessage().getBody(CreateFunctionResult.class));
-        assertEquals("GetHelloWithName", exchange.getMessage().getBody(CreateFunctionResult.class).getFunctionName());
-    }
-
-    @Test
-    public void lambdaListFunctionsTest() throws Exception {
-        Exchange exchange = template.send("direct:listFunctions", ExchangePattern.InOut, new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-        assertNotNull(exchange.getMessage().getBody(ListFunctionsResult.class));
-        assertEquals(3, exchange.getMessage().getBody(ListFunctionsResult.class).getFunctions().size());
-    }
-
-    @Test
-    public void lambdaGetFunctionTest() throws Exception {
-        Exchange exchange = template.send("direct:getFunction", ExchangePattern.InOut, new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-        GetFunctionResult result = exchange.getMessage().getBody(GetFunctionResult.class);
-        assertNotNull(result);
-        assertEquals("GetHelloWithName", result.getConfiguration().getFunctionName());
-        assertEquals("nodejs6.10", result.getConfiguration().getRuntime());
-
-    }
-
-    @Test
-    public void lambdaInvokeFunctionTest() throws Exception {
-        Exchange exchange = template.send("direct:invokeFunction", ExchangePattern.InOut, new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("{\"name\":\"Camel\"}");
-            }
-        });
-
-        assertNotNull(exchange.getMessage().getBody(String.class));
-        assertEquals("{\"Hello\":\"Camel\"}", exchange.getMessage().getBody(String.class));
-    }
-
-    @Test
-    public void lambdaDeleteFunctionTest() throws Exception {
-
-        Exchange exchange = template.send("direct:deleteFunction", ExchangePattern.InOut, new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-            }
-        });
-        assertNotNull(exchange.getMessage().getBody(DeleteFunctionResult.class));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-
-                from("direct:createFunction")
-                        .to("aws-lambda://GetHelloWithName?operation=createFunction&accessKey=xxxx&secretKey=xxxx&awsLambdaEndpoint=lambda.eu-central-1.amazonaws.com");
-
-                from("direct:listFunctions")
-                        .to("aws-lambda://myFunction?operation=listFunctions&accessKey=xxxx&secretKey=xxxx&awsLambdaEndpoint=lambda.eu-central-1.amazonaws.com");
-
-                from("direct:getFunction")
-                        .to("aws-lambda://GetHelloWithName?operation=getFunction&accessKey=xxxx&secretKey=xxxx&awsLambdaEndpoint=lambda.eu-central-1.amazonaws.com");
-
-                from("direct:invokeFunction")
-                        .to("aws-lambda://GetHelloWithName?operation=invokeFunction&accessKey=xxxx&secretKey=xxxx&awsLambdaEndpoint=lambda.eu-central-1.amazonaws.com");
-
-                from("direct:deleteFunction")
-                        .to("aws-lambda://GetHelloWithName?operation=deleteFunction&accessKey=xxxx&secretKey=xxxx&awsLambdaEndpoint=lambda.eu-central-1.amazonaws.com");
-
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-lambda/src/test/resources/log4j2.properties b/components/camel-aws-lambda/src/test/resources/log4j2.properties
deleted file mode 100644
index 3f400ae..0000000
--- a/components/camel-aws-lambda/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-lambda-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-lambda/src/test/resources/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest-context.xml b/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest-context.xml
deleted file mode 100644
index 7ab98aa..0000000
--- a/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/LambdaComponentSpringTest-context.xml
+++ /dev/null
@@ -1,115 +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:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns="http://www.springframework.org/schema/beans"
-       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:createFunction"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=createFunction"/>
-        </route>
-
-        <route>
-            <from uri="direct:getFunction"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=getFunction"/>
-        </route>
-
-        <route>
-            <from uri="direct:listFunctions"/>
-            <to uri="aws-lambda://myFunction?awsLambdaClient=#awsLambdaClient&amp;operation=listFunctions"/>
-        </route>
-
-        <route>
-            <from uri="direct:invokeFunction"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=invokeFunction"/>
-        </route>
-
-        <route>
-            <from uri="direct:deleteFunction"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=deleteFunction"/>
-        </route>
-
-        <route>
-            <from uri="direct:createEventSourceMapping"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=createEventSourceMapping"/>
-        </route>
-        
-        <route>
-            <from uri="direct:deleteEventSourceMapping"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=deleteEventSourceMapping"/>
-        </route>
-        
-        <route>
-            <from uri="direct:listEventSourceMapping"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=listEventSourceMapping"/>
-        </route>
-        
-        <route>
-            <from uri="direct:listTags"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=listTags"/>
-        </route>
-        
-        <route>
-            <from uri="direct:tagResource"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=tagResource"/>
-        </route>
-        
-        <route>
-            <from uri="direct:untagResource"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=untagResource"/>
-        </route>
-        
-        <route>
-            <from uri="direct:publishVersion"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=publishVersion"/>
-        </route>
-        
-        <route>
-            <from uri="direct:listVersions"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=listVersions"/>
-        </route>
-        
-        <route>
-            <from uri="direct:createAlias"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=createAlias"/>
-        </route>
-        
-        <route>
-            <from uri="direct:deleteAlias"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=deleteAlias"/>
-        </route>
-        
-        <route>
-            <from uri="direct:getAlias"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=getAlias"/>
-        </route>
-        
-        <route>
-            <from uri="direct:listAliases"/>
-            <to uri="aws-lambda://GetHelloWithName?awsLambdaClient=#awsLambdaClient&amp;operation=listAliases"/>
-        </route>
-    </camelContext>
-
-    <bean id="awsLambdaClient" class="org.apache.camel.component.aws.lambda.AmazonLambdaClientMock"/>
-</beans>
\ No newline at end of file
diff --git a/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.js b/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.js
deleted file mode 100644
index e8a0039..0000000
--- a/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.js
+++ /dev/null
@@ -1,21 +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.
- */
-'use strict';
-exports.handler = function(event, context, callback) {
-	var name = (event.name === undefined ? 'No-Name' : event.name);
-	callback(null, {"Hello":name});
-}
diff --git a/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip b/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip
deleted file mode 100644
index e9991f8..0000000
Binary files a/components/camel-aws-lambda/src/test/resources/org/apache/camel/component/aws/lambda/function/node/GetHelloWithName.zip and /dev/null differ
diff --git a/components/pom.xml b/components/pom.xml
index ebea822..95f29e4 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -115,7 +115,6 @@
         <module>camel-aws-iam</module>
         <module>camel-aws-kinesis</module>
         <module>camel-aws-kms</module>
-        <module>camel-aws-lambda</module>
         <module>camel-aws-s3</module>
         <module>camel-aws-swf</module>
         <module>camel-aws2-athena</module>
diff --git a/core/camel-allcomponents/pom.xml b/core/camel-allcomponents/pom.xml
index 52ccc6b..42623ac 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -143,10 +143,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.camel</groupId>
-			<artifactId>camel-aws-lambda</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 03e8326..1c07b21 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -899,11 +899,6 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.camel</groupId>
-				<artifactId>camel-aws-lambda</artifactId>
-				<version>${project.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.camel</groupId>
 				<artifactId>camel-aws-s3</artifactId>
 				<version>${project.version}</version>
 			</dependency>