You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2024/03/29 09:18:06 UTC

(camel) 02/02: CAMEL-20625: Create a camel-google-pubsub-lite component

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 439beab2d3cc7dce2414286a48979d62078ea26d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Mar 29 10:17:55 2024 +0100

    CAMEL-20625: Create a camel-google-pubsub-lite component
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../catalog/components/google-pubsub-lite.json     |  60 ++
 .../org/apache/camel/main/components.properties    |   1 +
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  61 ++
 .../GooglePubsubLiteEndpointBuilderFactory.java    | 729 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 .../kotlin/components/GooglePubsubLiteUriDsl.kt    | 233 +++++++
 9 files changed, 1088 insertions(+)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index 3fd271c713c..365101ac5d1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -118,6 +118,7 @@ google-functions
 google-mail
 google-mail-stream
 google-pubsub
+google-pubsub-lite
 google-secret-manager
 google-sheets
 google-sheets-stream
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub-lite.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub-lite.json
new file mode 100644
index 00000000000..750223182cf
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub-lite.json
@@ -0,0 +1,60 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "google-pubsub-lite",
+    "title": "Google Pubsub Lite",
+    "description": "Send and receive messages to\/from Google Cloud Platform PubSub Lite Service.",
+    "deprecated": false,
+    "firstVersion": "4.5.0",
+    "label": "cloud,messaging",
+    "javaType": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-pubsub-lite",
+    "version": "4.6.0-SNAPSHOT",
+    "scheme": "google-pubsub-lite",
+    "extendsScheme": "",
+    "syntax": "google-pubsub-lite:projectId:location:destinationName",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "serviceAccountKey": { "index": 0, "kind": "property", "displayName": "Service Account Key", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The Service account key that can be used as credentials for the PubSub Lite publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resourc [...]
+    "bridgeErrorHandler": { "index": 1, "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 (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the like [...]
+    "consumerBytesOutstanding": { "index": 2, "kind": "property", "displayName": "Consumer Bytes Outstanding", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "How many milliseconds should each producer stay alive in the cache. Must be greater than the allowed size of the largest message (1 MiB)." },
+    "consumerMessagesOutstanding": { "index": 3, "kind": "property", "displayName": "Consumer Messages Outstanding", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "The number of messages that may be outstanding to the client. Must be 0." },
+    "lazyStartProducer": { "index": 4, "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 [...]
+    "publisherCacheSize": { "index": 5, "kind": "property", "displayName": "Publisher Cache Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "Maximum number of producers to cache. This could be increased if you have producers for lots of different topics." },
+    "publisherCacheTimeout": { "index": 6, "kind": "property", "displayName": "Publisher Cache Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "How many milliseconds should each producer stay alive in the cache." },
+    "autowiredEnabled": { "index": 7, "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 t [...]
+    "publisherTerminationTimeout": { "index": 8, "kind": "property", "displayName": "Publisher Termination Timeout", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "description": "How many milliseconds should a producer be allowed to terminate." }
+  },
+  "headers": {
+    "CamelGooglePubsubMessageId": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ID of the message, assigned by the server when the message is published.", "constantName": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants#MESSAGE_ID" },
+    "CamelGooglePubsubMsgAckId": { "index": 1, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ID used to acknowledge the received message.", "constantName": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants#ACK_ID" },
+    "CamelGooglePubsubPublishTime": { "index": 2, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "com.google.protobuf.Timestamp", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The time at which the message was published", "constantName": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants#PUBLISH_TIME" },
+    "CamelGooglePubsubAttributes": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Map<String, String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The attributes of the message.", "constantName": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants#ATTRIBUTES" },
+    "CamelGooglePubsubOrderingKey": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "If non-empty, identifies related messages for which publish order should be respected.", "constantName": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants#ORDERING_KEY" }
+  },
+  "properties": {
+    "projectId": { "index": 0, "kind": "path", "displayName": "Project Id", "group": "common", "label": "common", "required": true, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Google Cloud PubSub Lite Project Id" },
+    "location": { "index": 1, "kind": "path", "displayName": "Location", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Google Cloud PubSub Lite location" },
+    "destinationName": { "index": 2, "kind": "path", "displayName": "Destination Name", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name." },
+    "loggerId": { "index": 3, "kind": "parameter", "displayName": "Logger Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Logger ID to use when a match to the parent route required" },
+    "serviceAccountKey": { "index": 4, "kind": "parameter", "displayName": "Service Account Key", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The Service account key that can be used as credentials for the PubSub publisher\/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource fr [...]
+    "ackMode": { "index": 5, "kind": "parameter", "displayName": "Ack Mode", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants.AckMode", "enum": [ "AUTO", "NONE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AUTO", "description": "AUTO = exchange gets ack'ed\/nack'ed on completion. NONE = downstream process has to ack\/nack explicitly" },
+    "concurrentConsumers": { "index": 6, "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "description": "The number of parallel streams consuming from the subscription" },
+    "maxAckExtensionPeriod": { "index": 7, "kind": "parameter", "displayName": "Max Ack Extension Period", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Set the maximum period a message ack deadline will be extended. Value in seconds" },
+    "maxMessagesPerPoll": { "index": 8, "kind": "parameter", "displayName": "Max Messages Per Poll", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "description": "The max number of messages to receive from the server in a single API call" },
+    "bridgeErrorHandler": { "index": 9, "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 (if possible) occurred while the Camel consumer is trying to pickup incoming  [...]
+    "exceptionHandler": { "index": 10, "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 de [...]
+    "exchangePattern": { "index": 11, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
+    "lazyStartProducer": { "index": 12, "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 produ [...]
+    "pubsubEndpoint": { "index": 13, "kind": "parameter", "displayName": "Pubsub Endpoint", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Pub\/Sub endpoint to use. Required when using message ordering, and ensures that messages are received in order even when multiple publishers are used" },
+    "serializer": { "index": 14, "kind": "parameter", "displayName": "Serializer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.google.pubsublite.serializer.GooglePubsubSerializer", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "description": "A custom GooglePubsubLiteSerializer to use for serializing message payloads in the producer" }
+  }
+}
diff --git a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index 3fd271c713c..365101ac5d1 100644
--- a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -118,6 +118,7 @@ google-functions
 google-mail
 google-mail-stream
 google-pubsub
+google-pubsub-lite
 google-secret-manager
 google-sheets
 google-sheets-stream
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 24e127c38e5..3416eee3eab 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -132,6 +132,7 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.GoogleMailEndpointBuilderFactory.GoogleMailBuilders,
             org.apache.camel.builder.endpoint.dsl.GoogleMailStreamEndpointBuilderFactory.GoogleMailStreamBuilders,
             org.apache.camel.builder.endpoint.dsl.GooglePubsubEndpointBuilderFactory.GooglePubsubBuilders,
+            org.apache.camel.builder.endpoint.dsl.GooglePubsubLiteEndpointBuilderFactory.GooglePubsubLiteBuilders,
             org.apache.camel.builder.endpoint.dsl.GoogleSecretManagerEndpointBuilderFactory.GoogleSecretManagerBuilders,
             org.apache.camel.builder.endpoint.dsl.GoogleSheetsEndpointBuilderFactory.GoogleSheetsBuilders,
             org.apache.camel.builder.endpoint.dsl.GoogleSheetsStreamEndpointBuilderFactory.GoogleSheetsStreamBuilders,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 763395cfda4..31b49bf60db 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -129,6 +129,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.GoogleMailEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.GoogleMailStreamEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.GooglePubsubEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.GooglePubsubLiteEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.GoogleSecretManagerEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.GoogleSheetsEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.GoogleSheetsStreamEndpointBuilderFactory,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 40b01f7e5e7..af81066da44 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -5714,6 +5714,67 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.GooglePubsubEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * Google Pubsub Lite (camel-google-pubsub-lite)
+     * Send and receive messages to/from Google Cloud Platform PubSub Lite
+     * Service.
+     * 
+     * Category: cloud,messaging
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-google-pubsub-lite
+     * 
+     * Syntax:
+     * <code>google-pubsub-lite:projectId:location:destinationName</code>
+     * 
+     * Path parameter: projectId (required)
+     * The Google Cloud PubSub Lite Project Id
+     * 
+     * Path parameter: location (required)
+     * The Google Cloud PubSub Lite location
+     * 
+     * Path parameter: destinationName (required)
+     * The Destination Name. For the consumer this will be the subscription
+     * name, while for the producer this will be the topic name.
+     * 
+     * @param path projectId:location:destinationName
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.GooglePubsubLiteEndpointBuilderFactory.GooglePubsubLiteEndpointBuilder googlePubsubLite(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.GooglePubsubLiteEndpointBuilderFactory.endpointBuilder("google-pubsub-lite", path);
+    }
+    /**
+     * Google Pubsub Lite (camel-google-pubsub-lite)
+     * Send and receive messages to/from Google Cloud Platform PubSub Lite
+     * Service.
+     * 
+     * Category: cloud,messaging
+     * Since: 4.5
+     * Maven coordinates: org.apache.camel:camel-google-pubsub-lite
+     * 
+     * Syntax:
+     * <code>google-pubsub-lite:projectId:location:destinationName</code>
+     * 
+     * Path parameter: projectId (required)
+     * The Google Cloud PubSub Lite Project Id
+     * 
+     * Path parameter: location (required)
+     * The Google Cloud PubSub Lite location
+     * 
+     * Path parameter: destinationName (required)
+     * The Destination Name. For the consumer this will be the subscription
+     * name, while for the producer this will be the topic name.
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path projectId:location:destinationName
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.GooglePubsubLiteEndpointBuilderFactory.GooglePubsubLiteEndpointBuilder googlePubsubLite(
+            String componentName,
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.GooglePubsubLiteEndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
     /**
      * Google Secret Manager (camel-google-secret-manager)
      * Manage Google Secret Manager Secrets
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GooglePubsubLiteEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GooglePubsubLiteEndpointBuilderFactory.java
new file mode 100644
index 00000000000..e546a082b71
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GooglePubsubLiteEndpointBuilderFactory.java
@@ -0,0 +1,729 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Send and receive messages to/from Google Cloud Platform PubSub Lite Service.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface GooglePubsubLiteEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint consumers for the Google Pubsub Lite component.
+     */
+    public interface GooglePubsubLiteEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder advanced() {
+            return (AdvancedGooglePubsubLiteEndpointConsumerBuilder) this;
+        }
+        /**
+         * Logger ID to use when a match to the parent route required.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param loggerId the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder loggerId(String loggerId) {
+            doSetProperty("loggerId", loggerId);
+            return this;
+        }
+        /**
+         * The Service account key that can be used as credentials for the
+         * PubSub publisher/subscriber. It can be loaded by default from
+         * classpath, but you can prefix with classpath:, file:, or http: to
+         * load the resource from different systems.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param serviceAccountKey the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder serviceAccountKey(
+                String serviceAccountKey) {
+            doSetProperty("serviceAccountKey", serviceAccountKey);
+            return this;
+        }
+        /**
+         * AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream
+         * process has to ack/nack explicitly.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants.AckMode&lt;/code&gt; type.
+         * 
+         * Default: AUTO
+         * Group: consumer
+         * 
+         * @param ackMode the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder ackMode(
+                org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants.AckMode ackMode) {
+            doSetProperty("ackMode", ackMode);
+            return this;
+        }
+        /**
+         * AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream
+         * process has to ack/nack explicitly.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.component.google.pubsublite.GooglePubsubLiteConstants.AckMode&lt;/code&gt; type.
+         * 
+         * Default: AUTO
+         * Group: consumer
+         * 
+         * @param ackMode the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder ackMode(String ackMode) {
+            doSetProperty("ackMode", ackMode);
+            return this;
+        }
+        /**
+         * The number of parallel streams consuming from the subscription.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Default: 1
+         * Group: consumer
+         * 
+         * @param concurrentConsumers the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder concurrentConsumers(
+                Integer concurrentConsumers) {
+            doSetProperty("concurrentConsumers", concurrentConsumers);
+            return this;
+        }
+        /**
+         * The number of parallel streams consuming from the subscription.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Default: 1
+         * Group: consumer
+         * 
+         * @param concurrentConsumers the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder concurrentConsumers(
+                String concurrentConsumers) {
+            doSetProperty("concurrentConsumers", concurrentConsumers);
+            return this;
+        }
+        /**
+         * Set the maximum period a message ack deadline will be extended. Value
+         * in seconds.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 3600
+         * Group: consumer
+         * 
+         * @param maxAckExtensionPeriod the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder maxAckExtensionPeriod(
+                int maxAckExtensionPeriod) {
+            doSetProperty("maxAckExtensionPeriod", maxAckExtensionPeriod);
+            return this;
+        }
+        /**
+         * Set the maximum period a message ack deadline will be extended. Value
+         * in seconds.
+         * 
+         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 3600
+         * Group: consumer
+         * 
+         * @param maxAckExtensionPeriod the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder maxAckExtensionPeriod(
+                String maxAckExtensionPeriod) {
+            doSetProperty("maxAckExtensionPeriod", maxAckExtensionPeriod);
+            return this;
+        }
+        /**
+         * The max number of messages to receive from the server in a single API
+         * call.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Default: 1
+         * Group: consumer
+         * 
+         * @param maxMessagesPerPoll the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder maxMessagesPerPoll(
+                Integer maxMessagesPerPoll) {
+            doSetProperty("maxMessagesPerPoll", maxMessagesPerPoll);
+            return this;
+        }
+        /**
+         * The max number of messages to receive from the server in a single API
+         * call.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Default: 1
+         * Group: consumer
+         * 
+         * @param maxMessagesPerPoll the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointConsumerBuilder maxMessagesPerPoll(
+                String maxMessagesPerPoll) {
+            doSetProperty("maxMessagesPerPoll", maxMessagesPerPoll);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint consumers for the Google Pubsub Lite
+     * component.
+     */
+    public interface AdvancedGooglePubsubLiteEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default GooglePubsubLiteEndpointConsumerBuilder basic() {
+            return (GooglePubsubLiteEndpointConsumerBuilder) this;
+        }
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions (if possible) occurred while the Camel
+         * consumer is trying to pickup incoming messages, or the likes, will
+         * now be processed as a message and handled by the routing Error
+         * Handler. Important: This is only possible if the 3rd party component
+         * allows Camel to be alerted if an exception was thrown. Some
+         * components handle this internally only, and therefore
+         * bridgeErrorHandler is not possible. In other situations we may
+         * improve the Camel component to hook into the 3rd party component and
+         * make this possible for future releases. By default the consumer will
+         * use the org.apache.camel.spi.ExceptionHandler to deal with
+         * exceptions, that will be logged at WARN or ERROR level and ignored.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: consumer (advanced)
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions (if possible) occurred while the Camel
+         * consumer is trying to pickup incoming messages, or the likes, will
+         * now be processed as a message and handled by the routing Error
+         * Handler. Important: This is only possible if the 3rd party component
+         * allows Camel to be alerted if an exception was thrown. Some
+         * components handle this internally only, and therefore
+         * bridgeErrorHandler is not possible. In other situations we may
+         * improve the Camel component to hook into the 3rd party component and
+         * make this possible for future releases. By default the consumer will
+         * use the org.apache.camel.spi.ExceptionHandler to deal with
+         * exceptions, that will be logged at WARN or ERROR level and ignored.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: consumer (advanced)
+         * 
+         * @param bridgeErrorHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * To let the consumer use a custom ExceptionHandler. Notice if the
+         * option bridgeErrorHandler is enabled then this option is not in use.
+         * By default the consumer will deal with exceptions, that will be
+         * logged at WARN or ERROR level and ignored.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exceptionHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder exceptionHandler(
+                org.apache.camel.spi.ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * To let the consumer use a custom ExceptionHandler. Notice if the
+         * option bridgeErrorHandler is enabled then this option is not in use.
+         * By default the consumer will deal with exceptions, that will be
+         * logged at WARN or ERROR level and ignored.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exceptionHandler the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exchangePattern the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder exchangePattern(
+                org.apache.camel.ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param exchangePattern the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint producers for the Google Pubsub Lite component.
+     */
+    public interface GooglePubsubLiteEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedGooglePubsubLiteEndpointProducerBuilder advanced() {
+            return (AdvancedGooglePubsubLiteEndpointProducerBuilder) this;
+        }
+        /**
+         * Logger ID to use when a match to the parent route required.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param loggerId the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointProducerBuilder loggerId(String loggerId) {
+            doSetProperty("loggerId", loggerId);
+            return this;
+        }
+        /**
+         * The Service account key that can be used as credentials for the
+         * PubSub publisher/subscriber. It can be loaded by default from
+         * classpath, but you can prefix with classpath:, file:, or http: to
+         * load the resource from different systems.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param serviceAccountKey the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointProducerBuilder serviceAccountKey(
+                String serviceAccountKey) {
+            doSetProperty("serviceAccountKey", serviceAccountKey);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint producers for the Google Pubsub Lite
+     * component.
+     */
+    public interface AdvancedGooglePubsubLiteEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default GooglePubsubLiteEndpointProducerBuilder basic() {
+            return (GooglePubsubLiteEndpointProducerBuilder) this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointProducerBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointProducerBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Pub/Sub endpoint to use. Required when using message ordering, and
+         * ensures that messages are received in order even when multiple
+         * publishers are used.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer (advanced)
+         * 
+         * @param pubsubEndpoint the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointProducerBuilder pubsubEndpoint(
+                String pubsubEndpoint) {
+            doSetProperty("pubsubEndpoint", pubsubEndpoint);
+            return this;
+        }
+        /**
+         * A custom GooglePubsubLiteSerializer to use for serializing message
+         * payloads in the producer.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.component.google.pubsublite.serializer.GooglePubsubSerializer&lt;/code&gt; type.
+         * 
+         * Group: producer (advanced)
+         * 
+         * @param serializer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointProducerBuilder serializer(
+                org.apache.camel.component.google.pubsublite.serializer.GooglePubsubSerializer serializer) {
+            doSetProperty("serializer", serializer);
+            return this;
+        }
+        /**
+         * A custom GooglePubsubLiteSerializer to use for serializing message
+         * payloads in the producer.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.component.google.pubsublite.serializer.GooglePubsubSerializer&lt;/code&gt; type.
+         * 
+         * Group: producer (advanced)
+         * 
+         * @param serializer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGooglePubsubLiteEndpointProducerBuilder serializer(
+                String serializer) {
+            doSetProperty("serializer", serializer);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint for the Google Pubsub Lite component.
+     */
+    public interface GooglePubsubLiteEndpointBuilder
+            extends
+                GooglePubsubLiteEndpointConsumerBuilder,
+                GooglePubsubLiteEndpointProducerBuilder {
+        default AdvancedGooglePubsubLiteEndpointBuilder advanced() {
+            return (AdvancedGooglePubsubLiteEndpointBuilder) this;
+        }
+        /**
+         * Logger ID to use when a match to the parent route required.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param loggerId the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointBuilder loggerId(String loggerId) {
+            doSetProperty("loggerId", loggerId);
+            return this;
+        }
+        /**
+         * The Service account key that can be used as credentials for the
+         * PubSub publisher/subscriber. It can be loaded by default from
+         * classpath, but you can prefix with classpath:, file:, or http: to
+         * load the resource from different systems.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param serviceAccountKey the value to set
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointBuilder serviceAccountKey(
+                String serviceAccountKey) {
+            doSetProperty("serviceAccountKey", serviceAccountKey);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Google Pubsub Lite component.
+     */
+    public interface AdvancedGooglePubsubLiteEndpointBuilder
+            extends
+                AdvancedGooglePubsubLiteEndpointConsumerBuilder,
+                AdvancedGooglePubsubLiteEndpointProducerBuilder {
+        default GooglePubsubLiteEndpointBuilder basic() {
+            return (GooglePubsubLiteEndpointBuilder) this;
+        }
+    }
+
+    public interface GooglePubsubLiteBuilders {
+        /**
+         * Google Pubsub Lite (camel-google-pubsub-lite)
+         * Send and receive messages to/from Google Cloud Platform PubSub Lite
+         * Service.
+         * 
+         * Category: cloud,messaging
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-google-pubsub-lite
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default GooglePubsubLiteHeaderNameBuilder googlePubsubLite() {
+            return GooglePubsubLiteHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * Google Pubsub Lite (camel-google-pubsub-lite)
+         * Send and receive messages to/from Google Cloud Platform PubSub Lite
+         * Service.
+         * 
+         * Category: cloud,messaging
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-google-pubsub-lite
+         * 
+         * Syntax:
+         * <code>google-pubsub-lite:projectId:location:destinationName</code>
+         * 
+         * Path parameter: projectId (required)
+         * The Google Cloud PubSub Lite Project Id
+         * 
+         * Path parameter: location (required)
+         * The Google Cloud PubSub Lite location
+         * 
+         * Path parameter: destinationName (required)
+         * The Destination Name. For the consumer this will be the subscription
+         * name, while for the producer this will be the topic name.
+         * 
+         * @param path projectId:location:destinationName
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointBuilder googlePubsubLite(String path) {
+            return GooglePubsubLiteEndpointBuilderFactory.endpointBuilder("google-pubsub-lite", path);
+        }
+        /**
+         * Google Pubsub Lite (camel-google-pubsub-lite)
+         * Send and receive messages to/from Google Cloud Platform PubSub Lite
+         * Service.
+         * 
+         * Category: cloud,messaging
+         * Since: 4.5
+         * Maven coordinates: org.apache.camel:camel-google-pubsub-lite
+         * 
+         * Syntax:
+         * <code>google-pubsub-lite:projectId:location:destinationName</code>
+         * 
+         * Path parameter: projectId (required)
+         * The Google Cloud PubSub Lite Project Id
+         * 
+         * Path parameter: location (required)
+         * The Google Cloud PubSub Lite location
+         * 
+         * Path parameter: destinationName (required)
+         * The Destination Name. For the consumer this will be the subscription
+         * name, while for the producer this will be the topic name.
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path projectId:location:destinationName
+         * @return the dsl builder
+         */
+        default GooglePubsubLiteEndpointBuilder googlePubsubLite(
+                String componentName,
+                String path) {
+            return GooglePubsubLiteEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+
+    /**
+     * The builder of headers' name for the Google Pubsub Lite component.
+     */
+    public static class GooglePubsubLiteHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final GooglePubsubLiteHeaderNameBuilder INSTANCE = new GooglePubsubLiteHeaderNameBuilder();
+
+        /**
+         * The ID of the message, assigned by the server when the message is
+         * published.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code GooglePubsubMessageId}.
+         */
+        public String googlePubsubMessageId() {
+            return "CamelGooglePubsubMessageId";
+        }
+
+        /**
+         * The ID used to acknowledge the received message.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code GooglePubsubMsgAckId}.
+         */
+        public String googlePubsubMsgAckId() {
+            return "CamelGooglePubsubMsgAckId";
+        }
+
+        /**
+         * The time at which the message was published.
+         * 
+         * The option is a: {@code com.google.protobuf.Timestamp} type.
+         * 
+         * Group: consumer
+         * 
+         * @return the name of the header {@code GooglePubsubPublishTime}.
+         */
+        public String googlePubsubPublishTime() {
+            return "CamelGooglePubsubPublishTime";
+        }
+
+        /**
+         * The attributes of the message.
+         * 
+         * The option is a: {@code Map<String, String>} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code GooglePubsubAttributes}.
+         */
+        public String googlePubsubAttributes() {
+            return "CamelGooglePubsubAttributes";
+        }
+
+        /**
+         * If non-empty, identifies related messages for which publish order
+         * should be respected.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code GooglePubsubOrderingKey}.
+         */
+        public String googlePubsubOrderingKey() {
+            return "CamelGooglePubsubOrderingKey";
+        }
+    }
+    static GooglePubsubLiteEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class GooglePubsubLiteEndpointBuilderImpl extends AbstractEndpointBuilder implements GooglePubsubLiteEndpointBuilder, AdvancedGooglePubsubLiteEndpointBuilder {
+            public GooglePubsubLiteEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new GooglePubsubLiteEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 6fcc54960b5..4626caabe8d 100644
--- a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -135,6 +135,7 @@ org.apache.camel.component.google.functions.GoogleCloudFunctionsComponent=camel:
 org.apache.camel.component.google.mail.GoogleMailComponent=camel:google-mail
 org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent=camel:google-mail
 org.apache.camel.component.google.pubsub.GooglePubsubComponent=camel:google-pubsub
+org.apache.camel.component.google.pubsublite.GooglePubsubLiteComponent=camel:google-pubsub-lite
 org.apache.camel.component.google.secret.manager.GoogleSecretManagerComponent=camel:google-secret-manager
 org.apache.camel.component.google.sheets.GoogleSheetsComponent=camel:google-sheets
 org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent=camel:google-sheets
diff --git a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/GooglePubsubLiteUriDsl.kt b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/GooglePubsubLiteUriDsl.kt
new file mode 100644
index 00000000000..6cdf31eb232
--- /dev/null
+++ b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/GooglePubsubLiteUriDsl.kt
@@ -0,0 +1,233 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.kotlin.components
+
+import kotlin.Boolean
+import kotlin.Int
+import kotlin.String
+import kotlin.Unit
+import org.apache.camel.kotlin.CamelDslMarker
+import org.apache.camel.kotlin.UriDsl
+
+/**
+ * Send and receive messages to/from Google Cloud Platform PubSub Lite Service.
+ */
+public fun UriDsl.`google-pubsub-lite`(i: GooglePubsubLiteUriDsl.() -> Unit) {
+  GooglePubsubLiteUriDsl(this).apply(i)
+}
+
+@CamelDslMarker
+public class GooglePubsubLiteUriDsl(
+  it: UriDsl,
+) {
+  private val it: UriDsl
+
+  init {
+    this.it = it
+    this.it.component("google-pubsub-lite")
+  }
+
+  private var projectId: String = ""
+
+  private var location: String = ""
+
+  private var destinationName: String = ""
+
+  /**
+   * The Google Cloud PubSub Lite Project Id
+   */
+  public fun projectId(projectId: String) {
+    this.projectId = projectId
+    it.url("$projectId:$location:$destinationName")
+  }
+
+  /**
+   * The Google Cloud PubSub Lite Project Id
+   */
+  public fun projectId(projectId: Int) {
+    this.projectId = projectId.toString()
+    it.url("$projectId:$location:$destinationName")
+  }
+
+  /**
+   * The Google Cloud PubSub Lite location
+   */
+  public fun location(location: String) {
+    this.location = location
+    it.url("$projectId:$location:$destinationName")
+  }
+
+  /**
+   * The Destination Name. For the consumer this will be the subscription name, while for the
+   * producer this will be the topic name.
+   */
+  public fun destinationName(destinationName: String) {
+    this.destinationName = destinationName
+    it.url("$projectId:$location:$destinationName")
+  }
+
+  /**
+   * Logger ID to use when a match to the parent route required
+   */
+  public fun loggerId(loggerId: String) {
+    it.property("loggerId", loggerId)
+  }
+
+  /**
+   * The Service account key that can be used as credentials for the PubSub publisher/subscriber. It
+   * can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to
+   * load the resource from different systems.
+   */
+  public fun serviceAccountKey(serviceAccountKey: String) {
+    it.property("serviceAccountKey", serviceAccountKey)
+  }
+
+  /**
+   * AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack
+   * explicitly
+   */
+  public fun ackMode(ackMode: String) {
+    it.property("ackMode", ackMode)
+  }
+
+  /**
+   * The number of parallel streams consuming from the subscription
+   */
+  public fun concurrentConsumers(concurrentConsumers: String) {
+    it.property("concurrentConsumers", concurrentConsumers)
+  }
+
+  /**
+   * The number of parallel streams consuming from the subscription
+   */
+  public fun concurrentConsumers(concurrentConsumers: Int) {
+    it.property("concurrentConsumers", concurrentConsumers.toString())
+  }
+
+  /**
+   * Set the maximum period a message ack deadline will be extended. Value in seconds
+   */
+  public fun maxAckExtensionPeriod(maxAckExtensionPeriod: String) {
+    it.property("maxAckExtensionPeriod", maxAckExtensionPeriod)
+  }
+
+  /**
+   * Set the maximum period a message ack deadline will be extended. Value in seconds
+   */
+  public fun maxAckExtensionPeriod(maxAckExtensionPeriod: Int) {
+    it.property("maxAckExtensionPeriod", maxAckExtensionPeriod.toString())
+  }
+
+  /**
+   * The max number of messages to receive from the server in a single API call
+   */
+  public fun maxMessagesPerPoll(maxMessagesPerPoll: String) {
+    it.property("maxMessagesPerPoll", maxMessagesPerPoll)
+  }
+
+  /**
+   * The max number of messages to receive from the server in a single API call
+   */
+  public fun maxMessagesPerPoll(maxMessagesPerPoll: Int) {
+    it.property("maxMessagesPerPoll", maxMessagesPerPoll.toString())
+  }
+
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
+  public fun bridgeErrorHandler(bridgeErrorHandler: String) {
+    it.property("bridgeErrorHandler", bridgeErrorHandler)
+  }
+
+  /**
+   * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions
+   * (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the
+   * likes, will now be processed as a message and handled by the routing Error Handler. Important:
+   * This is only possible if the 3rd party component allows Camel to be alerted if an exception was
+   * thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not
+   * possible. In other situations we may improve the Camel component to hook into the 3rd party
+   * component and make this possible for future releases. By default the consumer will use the
+   * org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or
+   * ERROR level and ignored.
+   */
+  public fun bridgeErrorHandler(bridgeErrorHandler: Boolean) {
+    it.property("bridgeErrorHandler", bridgeErrorHandler.toString())
+  }
+
+  /**
+   * To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is
+   * enabled then this option is not in use. By default the consumer will deal with exceptions, that
+   * will be logged at WARN or ERROR level and ignored.
+   */
+  public fun exceptionHandler(exceptionHandler: String) {
+    it.property("exceptionHandler", exceptionHandler)
+  }
+
+  /**
+   * Sets the exchange pattern when the consumer creates an exchange.
+   */
+  public fun exchangePattern(exchangePattern: String) {
+    it.property("exchangePattern", exchangePattern)
+  }
+
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
+  public fun lazyStartProducer(lazyStartProducer: String) {
+    it.property("lazyStartProducer", lazyStartProducer)
+  }
+
+  /**
+   * Whether the producer should be started lazy (on the first message). By starting lazy you can
+   * use this to allow CamelContext and routes to startup in situations where a producer may otherwise
+   * fail during starting and cause the route to fail being started. By deferring this startup to be
+   * lazy then the startup failure can be handled during routing messages via Camel's routing error
+   * handlers. Beware that when the first message is processed then creating and starting the producer
+   * may take a little time and prolong the total processing time of the processing.
+   */
+  public fun lazyStartProducer(lazyStartProducer: Boolean) {
+    it.property("lazyStartProducer", lazyStartProducer.toString())
+  }
+
+  /**
+   * Pub/Sub endpoint to use. Required when using message ordering, and ensures that messages are
+   * received in order even when multiple publishers are used
+   */
+  public fun pubsubEndpoint(pubsubEndpoint: String) {
+    it.property("pubsubEndpoint", pubsubEndpoint)
+  }
+
+  /**
+   * A custom GooglePubsubLiteSerializer to use for serializing message payloads in the producer
+   */
+  public fun serializer(serializer: String) {
+    it.property("serializer", serializer)
+  }
+}