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 {