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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 982141f6ec276f03992dfe71d15cf922bbce91f6
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Jul 26 09:11:08 2022 +0200

    camel-kubernetes - config-maps also has consumer
---
 .../catalog/components/kubernetes-config-maps.json | 30 ++++++---
 .../KubernetesConfigMapsComponentConfigurer.java   |  6 ++
 .../KubernetesConfigMapsEndpointConfigurer.java    | 75 ++++++++++++++++++++++
 .../KubernetesConfigMapsEndpointUriFactory.java    | 15 ++++-
 .../config_maps/kubernetes-config-maps.json        | 30 ++++++---
 .../docs/kubernetes-config-maps-component.adoc     |  2 +-
 .../config_maps/KubernetesConfigMapsEndpoint.java  |  2 +-
 7 files changed, 141 insertions(+), 19 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json
index 313ad0de1c0..f934f646ad2 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kubernetes-config-maps.json
@@ -18,11 +18,12 @@
     "async": false,
     "api": false,
     "consumerOnly": false,
-    "producerOnly": true,
+    "producerOnly": false,
     "lenientProperties": false
   },
   "componentProperties": {
-    "kubernetesClient": { "kind": "property", "displayName": "Kubernetes 
Client", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": true, "secret": false, "description": "To use an existing 
kubernetes client." },
+    "kubernetesClient": { "kind": "property", "displayName": "Kubernetes 
Client", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": true, "secret": false, "description": "To use an existing 
kubernetes client." },
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": 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 me [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
   },
@@ -36,13 +37,26 @@
     "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Timestamp of the action watched by the 
consumer", "constantName": 
"org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP"
 }
   },
   "properties": {
-    "masterUrl": { "kind": "path", "displayName": "Master Url", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Kubernetes Master url" },
-    "apiVersion": { "kind": "parameter", "displayName": "Api Version", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Kubernetes API 
Version to use" },
-    "dnsDomain": { "kind": "parameter", "displayName": "Dns Domain", "group": 
"producer", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The dns domain, used for 
ServiceCall EIP" },
-    "kubernetesClient": { "kind": "parameter", "displayName": "Kubernetes 
Client", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Default KubernetesClient 
to use if provided" },
+    "masterUrl": { "kind": "path", "displayName": "Master Url", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Kubernetes Master url" },
+    "apiVersion": { "kind": "parameter", "displayName": "Api Version", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Kubernetes API 
Version to use" },
+    "dnsDomain": { "kind": "parameter", "displayName": "Dns Domain", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The dns domain, used for 
ServiceCall EIP" },
+    "kubernetesClient": { "kind": "parameter", "displayName": "Kubernetes 
Client", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Default KubernetesClient 
to use if provided" },
+    "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": 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, "autowired": false, 
"secret": false, "defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
+    "poolSize": { "kind": "parameter", "displayName": "Pool Size", "group": 
"consumer", "label": "consumer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 1, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer pool size" 
},
+    "resourceName": { "kind": "parameter", "displayName": "Resource Name", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Resource 
Name we would like to watch" },
+    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": 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 [...]
+    "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, "autowired": 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 
con [...]
+    "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, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
     "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Producer operation to do 
on Kubernetes" },
-    "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"producer", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": 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": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer (advanced)", "label": "producer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Whether the producer should be started lazy (on the first 
message). By starting lazy you can use this to allow CamelContext and routes to 
startup in situations where a producer may other [...]
     "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Connection timeout in 
milliseconds to use when making requests to the Kubernetes API server." },
     "caCertData": { "kind": "parameter", "displayName": "Ca Cert Data", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The CA Cert Data" },
diff --git 
a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsComponentConfigurer.java
 
b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsComponentConfigurer.java
index d9bd8dbe012..1616ab0c956 100644
--- 
a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsComponentConfigurer.java
+++ 
b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsComponentConfigurer.java
@@ -23,6 +23,8 @@ public class KubernetesConfigMapsComponentConfigurer extends 
PropertyConfigurerS
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": 
target.setAutowiredEnabled(property(camelContext, boolean.class, value)); 
return true;
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
         case "kubernetesclient":
         case "kubernetesClient": 
target.setKubernetesClient(property(camelContext, 
io.fabric8.kubernetes.client.KubernetesClient.class, value)); return true;
         case "lazystartproducer":
@@ -41,6 +43,8 @@ public class KubernetesConfigMapsComponentConfigurer extends 
PropertyConfigurerS
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": return boolean.class;
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": return boolean.class;
         case "kubernetesclient":
         case "kubernetesClient": return 
io.fabric8.kubernetes.client.KubernetesClient.class;
         case "lazystartproducer":
@@ -55,6 +59,8 @@ public class KubernetesConfigMapsComponentConfigurer extends 
PropertyConfigurerS
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": return target.isAutowiredEnabled();
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "kubernetesclient":
         case "kubernetesClient": return target.getKubernetesClient();
         case "lazystartproducer":
diff --git 
a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointConfigurer.java
 
b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointConfigurer.java
index 05a62194e31..15e72169226 100644
--- 
a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointConfigurer.java
+++ 
b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointConfigurer.java
@@ -23,6 +23,8 @@ public class KubernetesConfigMapsEndpointConfigurer extends 
PropertyConfigurerSu
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "apiversion":
         case "apiVersion": 
target.getConfiguration().setApiVersion(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
         case "cacertdata":
         case "caCertData": 
target.getConfiguration().setCaCertData(property(camelContext, 
java.lang.String.class, value)); return true;
         case "cacertfile":
@@ -41,20 +43,43 @@ public class KubernetesConfigMapsEndpointConfigurer extends 
PropertyConfigurerSu
         case "clientKeyPassphrase": 
target.getConfiguration().setClientKeyPassphrase(property(camelContext, 
java.lang.String.class, value)); return true;
         case "connectiontimeout":
         case "connectionTimeout": 
target.getConfiguration().setConnectionTimeout(property(camelContext, 
java.lang.Integer.class, value)); return true;
+        case "crdgroup":
+        case "crdGroup": 
target.getConfiguration().setCrdGroup(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "crdname":
+        case "crdName": 
target.getConfiguration().setCrdName(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "crdplural":
+        case "crdPlural": 
target.getConfiguration().setCrdPlural(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "crdscope":
+        case "crdScope": 
target.getConfiguration().setCrdScope(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "crdversion":
+        case "crdVersion": 
target.getConfiguration().setCrdVersion(property(camelContext, 
java.lang.String.class, value)); return true;
         case "dnsdomain":
         case "dnsDomain": 
target.getConfiguration().setDnsDomain(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "exceptionhandler":
+        case "exceptionHandler": 
target.setExceptionHandler(property(camelContext, 
org.apache.camel.spi.ExceptionHandler.class, value)); return true;
+        case "exchangepattern":
+        case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
         case "kubernetesclient":
         case "kubernetesClient": 
target.getConfiguration().setKubernetesClient(property(camelContext, 
io.fabric8.kubernetes.client.KubernetesClient.class, value)); return true;
+        case "labelkey":
+        case "labelKey": 
target.getConfiguration().setLabelKey(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "labelvalue":
+        case "labelValue": 
target.getConfiguration().setLabelValue(property(camelContext, 
java.lang.String.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "namespace": 
target.getConfiguration().setNamespace(property(camelContext, 
java.lang.String.class, value)); return true;
         case "oauthtoken":
         case "oauthToken": 
target.getConfiguration().setOauthToken(property(camelContext, 
java.lang.String.class, value)); return true;
         case "operation": 
target.getConfiguration().setOperation(property(camelContext, 
java.lang.String.class, value)); return true;
         case "password": 
target.getConfiguration().setPassword(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "poolsize":
+        case "poolSize": 
target.getConfiguration().setPoolSize(property(camelContext, int.class, 
value)); return true;
         case "portname":
         case "portName": 
target.getConfiguration().setPortName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "portprotocol":
         case "portProtocol": 
target.getConfiguration().setPortProtocol(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "resourcename":
+        case "resourceName": 
target.getConfiguration().setResourceName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "trustcerts":
         case "trustCerts": 
target.getConfiguration().setTrustCerts(property(camelContext, 
java.lang.Boolean.class, value)); return true;
         case "username": 
target.getConfiguration().setUsername(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -67,6 +92,8 @@ public class KubernetesConfigMapsEndpointConfigurer extends 
PropertyConfigurerSu
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "apiversion":
         case "apiVersion": return java.lang.String.class;
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": return boolean.class;
         case "cacertdata":
         case "caCertData": return java.lang.String.class;
         case "cacertfile":
@@ -85,20 +112,43 @@ public class KubernetesConfigMapsEndpointConfigurer 
extends PropertyConfigurerSu
         case "clientKeyPassphrase": return java.lang.String.class;
         case "connectiontimeout":
         case "connectionTimeout": return java.lang.Integer.class;
+        case "crdgroup":
+        case "crdGroup": return java.lang.String.class;
+        case "crdname":
+        case "crdName": return java.lang.String.class;
+        case "crdplural":
+        case "crdPlural": return java.lang.String.class;
+        case "crdscope":
+        case "crdScope": return java.lang.String.class;
+        case "crdversion":
+        case "crdVersion": return java.lang.String.class;
         case "dnsdomain":
         case "dnsDomain": return java.lang.String.class;
+        case "exceptionhandler":
+        case "exceptionHandler": return 
org.apache.camel.spi.ExceptionHandler.class;
+        case "exchangepattern":
+        case "exchangePattern": return org.apache.camel.ExchangePattern.class;
         case "kubernetesclient":
         case "kubernetesClient": return 
io.fabric8.kubernetes.client.KubernetesClient.class;
+        case "labelkey":
+        case "labelKey": return java.lang.String.class;
+        case "labelvalue":
+        case "labelValue": return java.lang.String.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
+        case "namespace": return java.lang.String.class;
         case "oauthtoken":
         case "oauthToken": return java.lang.String.class;
         case "operation": return java.lang.String.class;
         case "password": return java.lang.String.class;
+        case "poolsize":
+        case "poolSize": return int.class;
         case "portname":
         case "portName": return java.lang.String.class;
         case "portprotocol":
         case "portProtocol": return java.lang.String.class;
+        case "resourcename":
+        case "resourceName": return java.lang.String.class;
         case "trustcerts":
         case "trustCerts": return java.lang.Boolean.class;
         case "username": return java.lang.String.class;
@@ -112,6 +162,8 @@ public class KubernetesConfigMapsEndpointConfigurer extends 
PropertyConfigurerSu
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "apiversion":
         case "apiVersion": return target.getConfiguration().getApiVersion();
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "cacertdata":
         case "caCertData": return target.getConfiguration().getCaCertData();
         case "cacertfile":
@@ -130,20 +182,43 @@ public class KubernetesConfigMapsEndpointConfigurer 
extends PropertyConfigurerSu
         case "clientKeyPassphrase": return 
target.getConfiguration().getClientKeyPassphrase();
         case "connectiontimeout":
         case "connectionTimeout": return 
target.getConfiguration().getConnectionTimeout();
+        case "crdgroup":
+        case "crdGroup": return target.getConfiguration().getCrdGroup();
+        case "crdname":
+        case "crdName": return target.getConfiguration().getCrdName();
+        case "crdplural":
+        case "crdPlural": return target.getConfiguration().getCrdPlural();
+        case "crdscope":
+        case "crdScope": return target.getConfiguration().getCrdScope();
+        case "crdversion":
+        case "crdVersion": return target.getConfiguration().getCrdVersion();
         case "dnsdomain":
         case "dnsDomain": return target.getConfiguration().getDnsDomain();
+        case "exceptionhandler":
+        case "exceptionHandler": return target.getExceptionHandler();
+        case "exchangepattern":
+        case "exchangePattern": return target.getExchangePattern();
         case "kubernetesclient":
         case "kubernetesClient": return 
target.getConfiguration().getKubernetesClient();
+        case "labelkey":
+        case "labelKey": return target.getConfiguration().getLabelKey();
+        case "labelvalue":
+        case "labelValue": return target.getConfiguration().getLabelValue();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "namespace": return target.getConfiguration().getNamespace();
         case "oauthtoken":
         case "oauthToken": return target.getConfiguration().getOauthToken();
         case "operation": return target.getConfiguration().getOperation();
         case "password": return target.getConfiguration().getPassword();
+        case "poolsize":
+        case "poolSize": return target.getConfiguration().getPoolSize();
         case "portname":
         case "portName": return target.getConfiguration().getPortName();
         case "portprotocol":
         case "portProtocol": return 
target.getConfiguration().getPortProtocol();
+        case "resourcename":
+        case "resourceName": return 
target.getConfiguration().getResourceName();
         case "trustcerts":
         case "trustCerts": return target.getConfiguration().getTrustCerts();
         case "username": return target.getConfiguration().getUsername();
diff --git 
a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointUriFactory.java
 
b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointUriFactory.java
index ca90c0635b8..a9ea1d19100 100644
--- 
a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointUriFactory.java
+++ 
b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpointUriFactory.java
@@ -21,8 +21,9 @@ public class KubernetesConfigMapsEndpointUriFactory extends 
org.apache.camel.sup
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(21);
+        Set<String> props = new HashSet<>(34);
         props.add("apiVersion");
+        props.add("bridgeErrorHandler");
         props.add("caCertData");
         props.add("caCertFile");
         props.add("clientCertData");
@@ -32,15 +33,27 @@ public class KubernetesConfigMapsEndpointUriFactory extends 
org.apache.camel.sup
         props.add("clientKeyFile");
         props.add("clientKeyPassphrase");
         props.add("connectionTimeout");
+        props.add("crdGroup");
+        props.add("crdName");
+        props.add("crdPlural");
+        props.add("crdScope");
+        props.add("crdVersion");
         props.add("dnsDomain");
+        props.add("exceptionHandler");
+        props.add("exchangePattern");
         props.add("kubernetesClient");
+        props.add("labelKey");
+        props.add("labelValue");
         props.add("lazyStartProducer");
         props.add("masterUrl");
+        props.add("namespace");
         props.add("oauthToken");
         props.add("operation");
         props.add("password");
+        props.add("poolSize");
         props.add("portName");
         props.add("portProtocol");
+        props.add("resourceName");
         props.add("trustCerts");
         props.add("username");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
diff --git 
a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
 
b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
index 313ad0de1c0..f934f646ad2 100644
--- 
a/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
+++ 
b/components/camel-kubernetes/src/generated/resources/org/apache/camel/component/kubernetes/config_maps/kubernetes-config-maps.json
@@ -18,11 +18,12 @@
     "async": false,
     "api": false,
     "consumerOnly": false,
-    "producerOnly": true,
+    "producerOnly": false,
     "lenientProperties": false
   },
   "componentProperties": {
-    "kubernetesClient": { "kind": "property", "displayName": "Kubernetes 
Client", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": true, "secret": false, "description": "To use an existing 
kubernetes client." },
+    "kubernetesClient": { "kind": "property", "displayName": "Kubernetes 
Client", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": true, "secret": false, "description": "To use an existing 
kubernetes client." },
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": 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 me [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
   },
@@ -36,13 +37,26 @@
     "CamelKubernetesEventTimestamp": { "kind": "header", "displayName": "", 
"group": "consumer", "label": "consumer", "required": false, "javaType": 
"long", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Timestamp of the action watched by the 
consumer", "constantName": 
"org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_EVENT_TIMESTAMP"
 }
   },
   "properties": {
-    "masterUrl": { "kind": "path", "displayName": "Master Url", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Kubernetes Master url" },
-    "apiVersion": { "kind": "parameter", "displayName": "Api Version", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Kubernetes API 
Version to use" },
-    "dnsDomain": { "kind": "parameter", "displayName": "Dns Domain", "group": 
"producer", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The dns domain, used for 
ServiceCall EIP" },
-    "kubernetesClient": { "kind": "parameter", "displayName": "Kubernetes 
Client", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Default KubernetesClient 
to use if provided" },
+    "masterUrl": { "kind": "path", "displayName": "Master Url", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Kubernetes Master url" },
+    "apiVersion": { "kind": "parameter", "displayName": "Api Version", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Kubernetes API 
Version to use" },
+    "dnsDomain": { "kind": "parameter", "displayName": "Dns Domain", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The dns domain, used for 
ServiceCall EIP" },
+    "kubernetesClient": { "kind": "parameter", "displayName": "Kubernetes 
Client", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "io.fabric8.kubernetes.client.KubernetesClient", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Default KubernetesClient 
to use if provided" },
+    "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": 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, "autowired": false, 
"secret": false, "defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
+    "crdGroup": { "kind": "parameter", "displayName": "Crd Group", "group": 
"consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": 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, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The namespace" },
+    "poolSize": { "kind": "parameter", "displayName": "Pool Size", "group": 
"consumer", "label": "consumer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 1, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer pool size" 
},
+    "resourceName": { "kind": "parameter", "displayName": "Resource Name", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The Consumer Resource 
Name we would like to watch" },
+    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": 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 [...]
+    "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, "autowired": 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 
con [...]
+    "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, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
     "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Producer operation to do 
on Kubernetes" },
-    "portName": { "kind": "parameter", "displayName": "Port Name", "group": 
"producer", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": 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": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "tcp", "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The port protocol, used 
for ServiceCall EIP" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer (advanced)", "label": "producer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Whether the producer should be started lazy (on the first 
message). By starting lazy you can use this to allow CamelContext and routes to 
startup in situations where a producer may other [...]
     "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "Connection timeout in 
milliseconds to use when making requests to the Kubernetes API server." },
     "caCertData": { "kind": "parameter", "displayName": "Ca Cert Data", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.kubernetes.KubernetesConfiguration", 
"configurationField": "configuration", "description": "The CA Cert Data" },
diff --git 
a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
 
b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index 2847ae99d4a..0355489f600 100644
--- 
a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ 
b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -5,7 +5,7 @@
 :description: Perform operations on Kubernetes ConfigMaps and get notified on 
ConfigMaps changes.
 :since: 2.17
 :supportlevel: Stable
-:component-header: Only producer is supported
+:component-header: Both producer and consumer are supported
 //Manually maintained attributes
 :group: Kubernetes
 :camel-spring-boot-name: kubernetes
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
index b140f577090..5b81f89d2e4 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsEndpoint.java
@@ -31,7 +31,7 @@ import static 
org.apache.camel.component.kubernetes.KubernetesConstants.SCHEME_C
  * Perform operations on Kubernetes ConfigMaps and get notified on ConfigMaps 
changes.
  */
 @UriEndpoint(firstVersion = "2.17.0", scheme = SCHEME_CONFIG_MAPS, title = 
"Kubernetes ConfigMap",
-             syntax = "kubernetes-config-maps:masterUrl", producerOnly = true,
+             syntax = "kubernetes-config-maps:masterUrl",
              category = { Category.CONTAINER, Category.CLOUD, Category.PAAS }, 
headersClass = KubernetesConstants.class)
 public class KubernetesConfigMapsEndpoint extends AbstractKubernetesEndpoint {
 

Reply via email to