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-spring-boot.git


The following commit(s) were added to refs/heads/master by this push:
     new 04b7bc9  [create-pull-request] automated change
04b7bc9 is described below

commit 04b7bc9b7203d8aece017b75b79674df55862af0
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Nov 5 00:58:48 2020 +0000

    [create-pull-request] automated change
---
 .../camel/springboot/catalog/components.properties |  1 +
 .../springboot/catalog/components/aws2-sqs.json    |  2 +
 .../camel/springboot/catalog/components/git.json   | 12 +--
 ...llers.json => kubernetes-custom-resources.json} | 21 +++--
 .../catalog/components/kubernetes-deployments.json |  5 ++
 .../catalog/components/kubernetes-hpa.json         |  5 ++
 .../catalog/components/kubernetes-job.json         |  5 ++
 .../catalog/components/kubernetes-namespaces.json  |  5 ++
 .../catalog/components/kubernetes-nodes.json       |  5 ++
 .../catalog/components/kubernetes-pods.json        |  5 ++
 .../kubernetes-replication-controllers.json        |  5 ++
 .../catalog/components/kubernetes-services.json    |  5 ++
 components-starter/README.adoc                     |  4 +-
 .../src/main/docs/aws2-sqs-starter.adoc            |  3 +-
 .../sqs/springboot/Sqs2ComponentConfiguration.java | 13 +++
 .../src/main/docs/kubernetes-starter.adoc          |  6 +-
 ...sCustomResourcesComponentAutoConfiguration.java | 75 +++++++++++++++++
 ...netesCustomResourcesComponentConfiguration.java | 94 ++++++++++++++++++++++
 .../src/main/resources/META-INF/spring.factories   |  4 +-
 docs/modules/ROOT/pages/aws2-sqs-starter.adoc      |  3 +-
 docs/modules/ROOT/pages/kubernetes-starter.adoc    |  6 +-
 docs/modules/ROOT/pages/list.adoc                  |  4 +-
 22 files changed, 267 insertions(+), 21 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
index da025be..ba01aaf 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components.properties
@@ -201,6 +201,7 @@ jsonata
 jt400
 kafka
 kubernetes-config-maps
+kubernetes-custom-resources
 kubernetes-deployments
 kubernetes-hpa
 kubernetes-job
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-sqs.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-sqs.json
index e939c85..8fbad7a 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-sqs.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-sqs.json
@@ -32,6 +32,7 @@
     "queueOwnerAWSAccountId": { "kind": "property", "displayName": "Queue 
Owner AWSAccount Id", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "Specify the queue owner aws account id when 
you need to connect the queue with different account owner." },
     "region": { "kind": "property", "displayName": "Region", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "The region in which SQS client needs to work. 
When using this parameter, the configuration will expect the lowercase name of 
the region (for example ap-east-1 [...]
     "trustAllCertificates": { "kind": "property", "displayName": "Trust All 
Certificates", "group": "common", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "If we want to trust all certificates in case 
of overriding the endpoint" },
+    "useIAMCredentials": { "kind": "property", "displayName": "Use 
IAMCredentials", "group": "common", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "Set whether the SQS client should expect to 
load credentials on an AWS infra instance or to expect static credentials to 
[...]
     "attributeNames": { "kind": "property", "displayName": "Attribute Names", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", 
"configurationField": "configuration", "description": "A list of attribute 
names to receive when consuming. Multiple names can be separated by comma." },
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by [...]
     "concurrentConsumers": { "kind": "property", "displayName": "Concurrent 
Consumers", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "secret": false, 
"defaultValue": 1, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "Allows you to use multiple threads to poll the 
sqs queue to increase throughput" },
@@ -75,6 +76,7 @@
     "queueOwnerAWSAccountId": { "kind": "parameter", "displayName": "Queue 
Owner AWSAccount Id", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "Specify the queue owner aws account id when 
you need to connect the queue with different account owner." },
     "region": { "kind": "parameter", "displayName": "Region", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "The region in which SQS client needs to work. 
When using this parameter, the configuration will expect the lowercase name of 
the region (for example ap-east- [...]
     "trustAllCertificates": { "kind": "parameter", "displayName": "Trust All 
Certificates", "group": "common", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "If we want to trust all certificates in case 
of overriding the endpoint" },
+    "useIAMCredentials": { "kind": "parameter", "displayName": "Use 
IAMCredentials", "group": "common", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "Set whether the SQS client should expect to 
load credentials on an AWS infra instance or to expect static credentials t 
[...]
     "attributeNames": { "kind": "parameter", "displayName": "Attribute Names", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", 
"configurationField": "configuration", "description": "A list of attribute 
names to receive when consuming. Multiple names can be separated by comma." },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
     "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent 
Consumers", "group": "consumer", "label": "consumer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "secret": false, 
"defaultValue": 1, "configurationClass": 
"org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": 
"configuration", "description": "Allows you to use multiple threads to poll the 
sqs queue to increase throughput" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/git.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/git.json
index 8a77933..f513abb 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/git.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/git.json
@@ -28,19 +28,19 @@
   },
   "properties": {
     "localPath": { "kind": "path", "displayName": "Local Path", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "secret": 
false, "description": "Local repository path" },
-    "branchName": { "kind": "parameter", "displayName": "Branch Name", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The branch name to work on" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": 
"Remote repository password" },
-    "remoteName": { "kind": "parameter", "displayName": "Remote Name", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The remote repository name to use in particular operation like 
pull" },
-    "remotePath": { "kind": "parameter", "displayName": "Remote Path", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The remote repository path" },
-    "tagName": { "kind": "parameter", "displayName": "Tag Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "The 
tag name to work on" },
-    "username": { "kind": "parameter", "displayName": "Username", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": 
"Remote repository username" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
     "type": { "kind": "parameter", "displayName": "Type", "group": "consumer", 
"label": "consumer", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.git.consumer.GitType", "enum": [ "commit", "tag", 
"branch" ], "deprecated": false, "secret": false, "description": "The consumer 
type" },
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "secret": false, "description": "To let the consumer use a 
custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled 
then this option is not in use. By default the consumer will deal with [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "allowEmpty": { "kind": "parameter", "displayName": "Allow Empty", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "secret": 
false, "defaultValue": true, "description": "The flag to manage empty git 
commits" },
+    "branchName": { "kind": "parameter", "displayName": "Branch Name", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The branch name to work on" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
     "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "enum": [ "clone", "init", "add", "remove", 
"commit", "commitAll", "createBranch", "deleteBranch", "createTag", 
"deleteTag", "status", "log", "push", "pull", "showBranches", "cherryPick", 
"remoteAdd", "remoteList" ], "deprecated": false, "secret": false, 
"description": "The operation to do on the repository" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "Remote repository password" },
+    "remoteName": { "kind": "parameter", "displayName": "Remote Name", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The remote repository name to use in particular operation like 
pull" },
+    "remotePath": { "kind": "parameter", "displayName": "Remote Path", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The remote repository path" },
+    "tagName": { "kind": "parameter", "displayName": "Tag Name", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "The tag name to work on" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "Remote repository username" },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic 
Property Binding", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the endpoint should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": 
false, "description": "Sets whether synchronous processing should be strictly 
used, or Camel is allowed to use asynchronous processing (if supported)." }
   }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-custom-resources.json
similarity index 86%
copy from 
catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
copy to 
catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-custom-resources.json
index 0d9f335..3d9b9b4 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-custom-resources.json
@@ -1,20 +1,20 @@
 {
   "component": {
     "kind": "component",
-    "name": "kubernetes-replication-controllers",
-    "title": "Kubernetes Replication Controller",
-    "description": "Perform operations on Kubernetes Replication Controllers 
and get notified on Replication Controllers changes.",
+    "name": "kubernetes-custom-resources",
+    "title": "Kubernetes Custom Resources",
+    "description": "Perform operations on Kubernetes Custom Resources and get 
notified on Deployment changes.",
     "deprecated": false,
-    "firstVersion": "2.17.0",
+    "firstVersion": "3.7.0",
     "label": "container,cloud,paas",
-    "javaType": 
"org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent",
-    "supportLevel": "Stable",
+    "javaType": 
"org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent",
+    "supportLevel": "Preview",
     "groupId": "org.apache.camel.springboot",
     "artifactId": "camel-kubernetes-starter",
     "version": "3.7.0-SNAPSHOT",
-    "scheme": "kubernetes-replication-controllers",
+    "scheme": "kubernetes-custom-resources",
     "extendsScheme": "",
-    "syntax": "kubernetes-replication-controllers:masterUrl",
+    "syntax": "kubernetes-custom-resources:masterUrl",
     "async": false,
     "api": false,
     "consumerOnly": false,
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-deployments.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-deployments.json
index 7d75ae6..b94531a 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-deployments.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-deployments.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-hpa.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-hpa.json
index c8c7fce..13c4bf0 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-hpa.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-hpa.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-job.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-job.json
index 52d810d..50cd5c4 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-job.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-job.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-namespaces.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-namespaces.json
index 7caa8c1..7295e08 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-namespaces.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-namespaces.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-nodes.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-nodes.json
index f226efd..0af9103 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-nodes.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-nodes.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-pods.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-pods.json
index e3682a6..ce5976a 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-pods.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-pods.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
index 0d9f335..d6b0750 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-replication-controllers.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-services.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-services.json
index 66cc59f..a24b86b 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-services.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kubernetes-services.json
@@ -34,6 +34,11 @@
     "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port name, used for 
ServiceCall EIP" },
     "portProtocol": { "kind": "parameter", "displayName": "Port Protocol", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Group we would like to watch" },
+    "crdName": { "kind": "parameter", "displayName": "Crd Name", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource name we would like to watch" },
+    "crdPlural": { "kind": "parameter", "displayName": "Crd Plural", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Plural we would like to watch" },
+    "crdScope": { "kind": "parameter", "displayName": "Crd Scope", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Scope we would like to watch" },
+    "crdVersion": { "kind": "parameter", "displayName": "Crd Version", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer CRD 
Resource Version we would like to watch" },
     "labelKey": { "kind": "parameter", "displayName": "Label Key", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label key 
when watching at some resources" },
     "labelValue": { "kind": "parameter", "displayName": "Label Value", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Label value 
when watching at some resources" },
     "namespace": { "kind": "parameter", "displayName": "Namespace", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
diff --git a/components-starter/README.adoc b/components-starter/README.adoc
index 5828d28..6429ff2 100644
--- a/components-starter/README.adoc
+++ b/components-starter/README.adoc
@@ -5,7 +5,7 @@ Apache Camel Spring Boot supports the following Camel artifacts 
as Spring Boot S
 == Camel Components
 
 // components: START
-Number of Camel components: 340 in 273 JAR artifacts (3 deprecated)
+Number of Camel components: 341 in 273 JAR artifacts (3 deprecated)
 
 [width="100%",cols="4,3,3,3,6",options="header"]
 |===
@@ -403,6 +403,8 @@ Number of Camel components: 340 in 273 JAR artifacts (3 
deprecated)
 
 | xref:latest@components::kubernetes-config-maps-component.adoc[Kubernetes 
ConfigMap] | camel-kubernetes-starter | Stable | 2.17 | Perform operations on 
Kubernetes ConfigMaps and get notified on ConfigMaps changes.
 
+| 
xref:latest@components::kubernetes-custom-resources-component.adoc[Kubernetes 
Custom Resources] | camel-kubernetes-starter | Preview | 3.7 | Perform 
operations on Kubernetes Custom Resources and get notified on Deployment 
changes.
+
 | xref:latest@components::kubernetes-deployments-component.adoc[Kubernetes 
Deployments] | camel-kubernetes-starter | Stable | 2.20 | Perform operations on 
Kubernetes Deployments and get notified on Deployment changes.
 
 | xref:latest@components::kubernetes-hpa-component.adoc[Kubernetes HPA] | 
camel-kubernetes-starter | Stable | 2.23 | Perform operations on Kubernetes 
Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.
diff --git 
a/components-starter/camel-aws2-sqs-starter/src/main/docs/aws2-sqs-starter.adoc 
b/components-starter/camel-aws2-sqs-starter/src/main/docs/aws2-sqs-starter.adoc
index f6e08fd..6da8b45 100644
--- 
a/components-starter/camel-aws2-sqs-starter/src/main/docs/aws2-sqs-starter.adoc
+++ 
b/components-starter/camel-aws2-sqs-starter/src/main/docs/aws2-sqs-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-sqs with Spring Boot make sure to use the 
following Maven depend
 ----
 
 
-The component supports 41 options, which are listed below.
+The component supports 42 options, which are listed below.
 
 
 
@@ -62,6 +62,7 @@ The component supports 41 options, which are listed below.
 | *camel.component.aws2-sqs.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws2-sqs.server-side-encryption-enabled* | Define if Server 
Side Encryption is enabled or not on the queue | false | Boolean
 | *camel.component.aws2-sqs.trust-all-certificates* | If we want to trust all 
certificates in case of overriding the endpoint | false | Boolean
+| *camel.component.aws2-sqs.use-i-a-m-credentials* | Set whether the SQS 
client should expect to load credentials on an AWS infra instance or to expect 
static credentials to be passed in. | false | Boolean
 | *camel.component.aws2-sqs.visibility-timeout* | The duration (in seconds) 
that the received messages are hidden from subsequent retrieve requests after 
being retrieved by a ReceiveMessage request to set in the 
com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make 
sense if its different from defaultVisibilityTimeout. It changes the queue 
visibility timeout attribute permanently. |  | Integer
 | *camel.component.aws2-sqs.wait-time-seconds* | Duration in seconds (0 to 20) 
that the ReceiveMessage action call will wait until a message is in the queue 
to include in the response. |  | Integer
 | *camel.component.aws2-sqs.basic-property-binding* | *Deprecated* Whether the 
component should use basic property binding (Camel 2.x) or the newer property 
binding with additional capabilities | false | Boolean
diff --git 
a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConfiguration.java
 
b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConfiguration.java
index 72ffc66..771d6f0 100644
--- 
a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConfiguration.java
+++ 
b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConfiguration.java
@@ -91,6 +91,11 @@ public class Sqs2ComponentConfiguration
      */
     private Boolean trustAllCertificates = false;
     /**
+     * Set whether the SQS client should expect to load credentials on an AWS
+     * infra instance or to expect static credentials to be passed in.
+     */
+    private Boolean useIAMCredentials = false;
+    /**
      * A list of attribute names to receive when consuming. Multiple names can
      * be separated by comma.
      */
@@ -337,6 +342,14 @@ public class Sqs2ComponentConfiguration
         this.trustAllCertificates = trustAllCertificates;
     }
 
+    public Boolean getUseIAMCredentials() {
+        return useIAMCredentials;
+    }
+
+    public void setUseIAMCredentials(Boolean useIAMCredentials) {
+        this.useIAMCredentials = useIAMCredentials;
+    }
+
     public String getAttributeNames() {
         return attributeNames;
     }
diff --git 
a/components-starter/camel-kubernetes-starter/src/main/docs/kubernetes-starter.adoc
 
b/components-starter/camel-kubernetes-starter/src/main/docs/kubernetes-starter.adoc
index 76eb67b..3c38820 100644
--- 
a/components-starter/camel-kubernetes-starter/src/main/docs/kubernetes-starter.adoc
+++ 
b/components-starter/camel-kubernetes-starter/src/main/docs/kubernetes-starter.adoc
@@ -17,7 +17,7 @@ When using kubernetes with Spring Boot make sure to use the 
following Maven depe
 ----
 
 
-The component supports 70 options, which are listed below.
+The component supports 74 options, which are listed below.
 
 
 
@@ -26,6 +26,9 @@ The component supports 70 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-config-maps.enabled* | Whether to enable auto 
configuration of the kubernetes-config-maps component. This is enabled by 
default. |  | Boolean
 | *camel.component.kubernetes-config-maps.lazy-start-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  [...]
+| *camel.component.kubernetes-custom-resources.bridge-error-handler* | Allows 
for bridging the consumer to the Camel routing Error Handler, which mean any 
exceptions occurred while the consumer is trying to pickup incoming messages, 
or the likes, will now be processed as a message and handled by the routing 
Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored. | false | Boolean
+| *camel.component.kubernetes-custom-resources.enabled* | Whether to enable 
auto configuration of the kubernetes-custom-resources component. This is 
enabled by default. |  | Boolean
+| *camel.component.kubernetes-custom-resources.lazy-start-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 mes [...]
 | *camel.component.kubernetes-deployments.bridge-error-handler* | Allows for 
bridging the consumer to the Camel routing Error Handler, which mean any 
exceptions occurred while the consumer is trying to pickup incoming messages, 
or the likes, will now be processed as a message and handled by the routing 
Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored. | false | Boolean
 | *camel.component.kubernetes-deployments.enabled* | Whether to enable auto 
configuration of the kubernetes-deployments component. This is enabled by 
default. |  | Boolean
 | *camel.component.kubernetes-deployments.lazy-start-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  [...]
@@ -79,6 +82,7 @@ The component supports 70 options, which are listed below.
 | *camel.component.openshift-builds.enabled* | Whether to enable auto 
configuration of the openshift-builds component. This is enabled by default. |  
| Boolean
 | *camel.component.openshift-builds.lazy-start-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 pro [...]
 | *camel.component.kubernetes-config-maps.basic-property-binding* | 
*Deprecated* Whether the component should use basic property binding (Camel 
2.x) or the newer property binding with additional capabilities | false | 
Boolean
+| *camel.component.kubernetes-custom-resources.basic-property-binding* | 
*Deprecated* Whether the component should use basic property binding (Camel 
2.x) or the newer property binding with additional capabilities | false | 
Boolean
 | *camel.component.kubernetes-deployments.basic-property-binding* | 
*Deprecated* Whether the component should use basic property binding (Camel 
2.x) or the newer property binding with additional capabilities | false | 
Boolean
 | *camel.component.kubernetes-hpa.basic-property-binding* | *Deprecated* 
Whether the component should use basic property binding (Camel 2.x) or the 
newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-job.basic-property-binding* | *Deprecated* 
Whether the component should use basic property binding (Camel 2.x) or the 
newer property binding with additional capabilities | false | Boolean
diff --git 
a/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/customresources/springboot/KubernetesCustomResourcesComponentAutoConfiguration.java
 
b/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/customresources/springboot/KubernetesCustomResourcesComponentAutoConfiguration.java
new file mode 100644
index 0000000..daa868b
--- /dev/null
+++ 
b/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/customresources/springboot/KubernetesCustomResourcesComponentAutoConfiguration.java
@@ -0,0 +1,75 @@
+/*
+ * 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.kubernetes.customresources.springboot;
+
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+import 
org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent;
+import org.apache.camel.spi.ComponentCustomizer;
+import org.apache.camel.spring.boot.CamelAutoConfiguration;
+import org.apache.camel.spring.boot.ComponentConfigurationProperties;
+import org.apache.camel.spring.boot.util.CamelPropertiesHelper;
+import 
org.apache.camel.spring.boot.util.ConditionalOnCamelContextAndAutoConfigurationBeans;
+import org.apache.camel.spring.boot.util.ConditionalOnHierarchicalProperties;
+import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+@Configuration(proxyBeanMethods = false)
+@AutoConfigureAfter(CamelAutoConfiguration.class)
+@Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
+@EnableConfigurationProperties({ComponentConfigurationProperties.class,KubernetesCustomResourcesComponentConfiguration.class})
+@ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.kubernetes-custom-resources"})
+public class KubernetesCustomResourcesComponentAutoConfiguration {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+    @Autowired
+    private CamelContext camelContext;
+    @Autowired
+    private KubernetesCustomResourcesComponentConfiguration configuration;
+
+    @Lazy
+    @Bean
+    public ComponentCustomizer configureKubernetesCustomResourcesComponent() {
+        return new ComponentCustomizer() {
+            @Override
+            public void configure(String name, Component target) {
+                CamelPropertiesHelper.copyProperties(camelContext, 
configuration, target);
+            }
+            @Override
+            public boolean isEnabled(String name, Component target) {
+                return HierarchicalPropertiesEvaluator.evaluate(
+                        applicationContext,
+                        "camel.component.customizer",
+                        
"camel.component.kubernetes-custom-resources.customizer")
+                    && target instanceof KubernetesCustomResourcesComponent;
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/customresources/springboot/KubernetesCustomResourcesComponentConfiguration.java
 
b/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/customresources/springboot/KubernetesCustomResourcesComponentConfiguration.java
new file mode 100644
index 0000000..14a1e77
--- /dev/null
+++ 
b/components-starter/camel-kubernetes-starter/src/main/java/org/apache/camel/component/kubernetes/customresources/springboot/KubernetesCustomResourcesComponentConfiguration.java
@@ -0,0 +1,94 @@
+/*
+ * 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.kubernetes.customresources.springboot;
+
+import javax.annotation.Generated;
+import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import 
org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
+
+/**
+ * Perform operations on Kubernetes Custom Resources and get notified on
+ * Deployment changes.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+@ConfigurationProperties(prefix = 
"camel.component.kubernetes-custom-resources")
+public class KubernetesCustomResourcesComponentConfiguration
+        extends
+            ComponentConfigurationPropertiesCommon {
+
+    /**
+     * Whether to enable auto configuration of the kubernetes-custom-resources
+     * component. This is enabled by default.
+     */
+    private Boolean enabled;
+    /**
+     * Allows for bridging the consumer to the Camel routing Error Handler,
+     * which mean any exceptions occurred while the consumer is trying to 
pickup
+     * incoming messages, or the likes, will now be processed as a message and
+     * handled by the routing Error Handler. By default the consumer will use
+     * the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that
+     * will be logged at WARN or ERROR level and ignored.
+     */
+    private Boolean bridgeErrorHandler = false;
+    /**
+     * 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.
+     */
+    private Boolean lazyStartProducer = false;
+    /**
+     * Whether the component should use basic property binding (Camel 2.x) or
+     * the newer property binding with additional capabilities
+     */
+    @Deprecated
+    private Boolean basicPropertyBinding = false;
+
+    public Boolean getBridgeErrorHandler() {
+        return bridgeErrorHandler;
+    }
+
+    public void setBridgeErrorHandler(Boolean bridgeErrorHandler) {
+        this.bridgeErrorHandler = bridgeErrorHandler;
+    }
+
+    public Boolean getLazyStartProducer() {
+        return lazyStartProducer;
+    }
+
+    public void setLazyStartProducer(Boolean lazyStartProducer) {
+        this.lazyStartProducer = lazyStartProducer;
+    }
+
+    @Deprecated
+    @DeprecatedConfigurationProperty
+    public Boolean getBasicPropertyBinding() {
+        return basicPropertyBinding;
+    }
+
+    @Deprecated
+    public void setBasicPropertyBinding(Boolean basicPropertyBinding) {
+        this.basicPropertyBinding = basicPropertyBinding;
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-kubernetes-starter/src/main/resources/META-INF/spring.factories
 
b/components-starter/camel-kubernetes-starter/src/main/resources/META-INF/spring.factories
index fe068eb..7b093ce 100644
--- 
a/components-starter/camel-kubernetes-starter/src/main/resources/META-INF/spring.factories
+++ 
b/components-starter/camel-kubernetes-starter/src/main/resources/META-INF/spring.factories
@@ -33,7 +33,9 @@ 
org.apache.camel.component.kubernetes.service_accounts.springboot.KubernetesServ
 
org.apache.camel.component.openshift.builds.springboot.OpenshiftBuildsComponentAutoConfiguration,\
 
org.apache.camel.component.openshift.build_configs.springboot.OpenshiftBuildConfigsComponentAutoConfiguration,\
 
org.apache.camel.component.kubernetes.hpa.springboot.KubernetesHPAComponentAutoConfiguration,\
-org.apache.camel.component.kubernetes.job.springboot.KubernetesJobComponentAutoConfiguration
+org.apache.camel.component.kubernetes.job.springboot.KubernetesJobComponentAutoConfiguration,\
+org.apache.camel.component.kubernetes.customresources.springboot.KubernetesCustomResourcesComponentAutoConfiguration
+
 
 
 
diff --git a/docs/modules/ROOT/pages/aws2-sqs-starter.adoc 
b/docs/modules/ROOT/pages/aws2-sqs-starter.adoc
index f6e08fd..6da8b45 100644
--- a/docs/modules/ROOT/pages/aws2-sqs-starter.adoc
+++ b/docs/modules/ROOT/pages/aws2-sqs-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-sqs with Spring Boot make sure to use the 
following Maven depend
 ----
 
 
-The component supports 41 options, which are listed below.
+The component supports 42 options, which are listed below.
 
 
 
@@ -62,6 +62,7 @@ The component supports 41 options, which are listed below.
 | *camel.component.aws2-sqs.secret-key* | Amazon AWS Secret Key |  | String
 | *camel.component.aws2-sqs.server-side-encryption-enabled* | Define if Server 
Side Encryption is enabled or not on the queue | false | Boolean
 | *camel.component.aws2-sqs.trust-all-certificates* | If we want to trust all 
certificates in case of overriding the endpoint | false | Boolean
+| *camel.component.aws2-sqs.use-i-a-m-credentials* | Set whether the SQS 
client should expect to load credentials on an AWS infra instance or to expect 
static credentials to be passed in. | false | Boolean
 | *camel.component.aws2-sqs.visibility-timeout* | The duration (in seconds) 
that the received messages are hidden from subsequent retrieve requests after 
being retrieved by a ReceiveMessage request to set in the 
com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make 
sense if its different from defaultVisibilityTimeout. It changes the queue 
visibility timeout attribute permanently. |  | Integer
 | *camel.component.aws2-sqs.wait-time-seconds* | Duration in seconds (0 to 20) 
that the ReceiveMessage action call will wait until a message is in the queue 
to include in the response. |  | Integer
 | *camel.component.aws2-sqs.basic-property-binding* | *Deprecated* Whether the 
component should use basic property binding (Camel 2.x) or the newer property 
binding with additional capabilities | false | Boolean
diff --git a/docs/modules/ROOT/pages/kubernetes-starter.adoc 
b/docs/modules/ROOT/pages/kubernetes-starter.adoc
index 76eb67b..3c38820 100644
--- a/docs/modules/ROOT/pages/kubernetes-starter.adoc
+++ b/docs/modules/ROOT/pages/kubernetes-starter.adoc
@@ -17,7 +17,7 @@ When using kubernetes with Spring Boot make sure to use the 
following Maven depe
 ----
 
 
-The component supports 70 options, which are listed below.
+The component supports 74 options, which are listed below.
 
 
 
@@ -26,6 +26,9 @@ The component supports 70 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.kubernetes-config-maps.enabled* | Whether to enable auto 
configuration of the kubernetes-config-maps component. This is enabled by 
default. |  | Boolean
 | *camel.component.kubernetes-config-maps.lazy-start-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  [...]
+| *camel.component.kubernetes-custom-resources.bridge-error-handler* | Allows 
for bridging the consumer to the Camel routing Error Handler, which mean any 
exceptions occurred while the consumer is trying to pickup incoming messages, 
or the likes, will now be processed as a message and handled by the routing 
Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored. | false | Boolean
+| *camel.component.kubernetes-custom-resources.enabled* | Whether to enable 
auto configuration of the kubernetes-custom-resources component. This is 
enabled by default. |  | Boolean
+| *camel.component.kubernetes-custom-resources.lazy-start-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 mes [...]
 | *camel.component.kubernetes-deployments.bridge-error-handler* | Allows for 
bridging the consumer to the Camel routing Error Handler, which mean any 
exceptions occurred while the consumer is trying to pickup incoming messages, 
or the likes, will now be processed as a message and handled by the routing 
Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored. | false | Boolean
 | *camel.component.kubernetes-deployments.enabled* | Whether to enable auto 
configuration of the kubernetes-deployments component. This is enabled by 
default. |  | Boolean
 | *camel.component.kubernetes-deployments.lazy-start-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  [...]
@@ -79,6 +82,7 @@ The component supports 70 options, which are listed below.
 | *camel.component.openshift-builds.enabled* | Whether to enable auto 
configuration of the openshift-builds component. This is enabled by default. |  
| Boolean
 | *camel.component.openshift-builds.lazy-start-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 pro [...]
 | *camel.component.kubernetes-config-maps.basic-property-binding* | 
*Deprecated* Whether the component should use basic property binding (Camel 
2.x) or the newer property binding with additional capabilities | false | 
Boolean
+| *camel.component.kubernetes-custom-resources.basic-property-binding* | 
*Deprecated* Whether the component should use basic property binding (Camel 
2.x) or the newer property binding with additional capabilities | false | 
Boolean
 | *camel.component.kubernetes-deployments.basic-property-binding* | 
*Deprecated* Whether the component should use basic property binding (Camel 
2.x) or the newer property binding with additional capabilities | false | 
Boolean
 | *camel.component.kubernetes-hpa.basic-property-binding* | *Deprecated* 
Whether the component should use basic property binding (Camel 2.x) or the 
newer property binding with additional capabilities | false | Boolean
 | *camel.component.kubernetes-job.basic-property-binding* | *Deprecated* 
Whether the component should use basic property binding (Camel 2.x) or the 
newer property binding with additional capabilities | false | Boolean
diff --git a/docs/modules/ROOT/pages/list.adoc 
b/docs/modules/ROOT/pages/list.adoc
index 5828d28..6429ff2 100644
--- a/docs/modules/ROOT/pages/list.adoc
+++ b/docs/modules/ROOT/pages/list.adoc
@@ -5,7 +5,7 @@ Apache Camel Spring Boot supports the following Camel artifacts 
as Spring Boot S
 == Camel Components
 
 // components: START
-Number of Camel components: 340 in 273 JAR artifacts (3 deprecated)
+Number of Camel components: 341 in 273 JAR artifacts (3 deprecated)
 
 [width="100%",cols="4,3,3,3,6",options="header"]
 |===
@@ -403,6 +403,8 @@ Number of Camel components: 340 in 273 JAR artifacts (3 
deprecated)
 
 | xref:latest@components::kubernetes-config-maps-component.adoc[Kubernetes 
ConfigMap] | camel-kubernetes-starter | Stable | 2.17 | Perform operations on 
Kubernetes ConfigMaps and get notified on ConfigMaps changes.
 
+| 
xref:latest@components::kubernetes-custom-resources-component.adoc[Kubernetes 
Custom Resources] | camel-kubernetes-starter | Preview | 3.7 | Perform 
operations on Kubernetes Custom Resources and get notified on Deployment 
changes.
+
 | xref:latest@components::kubernetes-deployments-component.adoc[Kubernetes 
Deployments] | camel-kubernetes-starter | Stable | 2.20 | Perform operations on 
Kubernetes Deployments and get notified on Deployment changes.
 
 | xref:latest@components::kubernetes-hpa-component.adoc[Kubernetes HPA] | 
camel-kubernetes-starter | Stable | 2.23 | Perform operations on Kubernetes 
Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.

Reply via email to