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

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

commit 63bd0733785cfc88d53f2a2c70b2c14bfa7ee522
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Feb 21 14:54:43 2022 +0100

    CAMEL-17685 - Create a Camel Google Secrets Manager component
---
 camel-dependencies/pom.xml                         |   1 +
 .../org/apache/camel/catalog/components.properties |   1 +
 .../catalog/components/google-secret-manager.json  |  36 +++
 .../org/apache/camel/main/components.properties    |   1 +
 .../ROOT/examples/json/google-secret-manager.json  |   1 +
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../pages/google-secret-manager-component.adoc     |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 +
 ...GoogleSecretManagerComponentBuilderFactory.java | 121 +++++++++
 .../src/generated/resources/metadata.json          |  22 ++
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  43 ++++
 .../GoogleSecretManagerEndpointBuilderFactory.java | 274 +++++++++++++++++++++
 .../EndpointProducerDeserializersResolver.java     |   1 +
 .../apache/camel/maven/packaging/MojoHelper.java   |   3 +-
 16 files changed, 520 insertions(+), 1 deletion(-)

diff --git a/camel-dependencies/pom.xml b/camel-dependencies/pom.xml
index 8dde1d8..51cc496 100644
--- a/camel-dependencies/pom.xml
+++ b/camel-dependencies/pom.xml
@@ -233,6 +233,7 @@
     
<google-cloud-functions-bom-version>1.0.8</google-cloud-functions-bom-version>
     
<google-cloud-functions-gax-grpc-version>1.62.0</google-cloud-functions-gax-grpc-version>
     <google-cloud-guava-version>30.0-jre</google-cloud-guava-version>
+    
<google-cloud-secretmanager-bom-version>2.1.1</google-cloud-secretmanager-bom-version>
     <google-guava-version>20.0</google-guava-version>
     <google-maps-services-version>0.10.1</google-maps-services-version>
     <graaljs-version>21.3.0</graaljs-version>
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 1a6fd0b..23e8e15 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
@@ -124,6 +124,7 @@ google-functions
 google-mail
 google-mail-stream
 google-pubsub
+google-secret-manager
 google-sheets
 google-sheets-stream
 google-storage
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-secret-manager.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-secret-manager.json
new file mode 100644
index 0000000..c76b3eb
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-secret-manager.json
@@ -0,0 +1,36 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "google-secret-manager",
+    "title": "Google Secret Manager",
+    "description": "Manage Google Secret Manager Secrets",
+    "deprecated": false,
+    "firstVersion": "3.16.0",
+    "label": "cloud",
+    "javaType": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-secrets-manager",
+    "version": "3.16.0-SNAPSHOT",
+    "scheme": "google-secret-manager",
+    "extendsScheme": "",
+    "syntax": "google-secret-manager:project",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "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 [...]
+  },
+  "properties": {
+    "project": { "kind": "path", "displayName": "Project", "group": "common", 
"label": "common", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
 "configurationField": "configuration", "description": "The Google Cloud 
Project Id name related to the Secret Manager" },
+    "serviceAccountKey": { "kind": "parameter", "displayName": "Service 
Account Key", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
 "configurationField": "configuration", "description": "Service account key to 
authenticate an application as a service account" },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
+    "operation": { "kind": "parameter", "displayName": "Operation", "group": 
"producer", "label": "producer", "required": false, "type": "object", 
"javaType": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations",
 "enum": [ "createSecret" ], "deprecated": false, "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
 "configurationField": "configuration", "description": "The [...]
+    "pojoRequest": { "kind": "parameter", "displayName": "Pojo Request", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
 "configurationField": "configuration", "description": "Specifies if the 
request is a pojo request" },
+    "client": { "kind": "parameter", "displayName": "Client", "group": 
"advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "com.google.cloud.secretmanager.v1.SecretManagerServiceClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
 "configurationField": "configuration", "description": "The client to use 
during service  [...]
+  }
+}
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 1a6fd0b..23e8e15 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
@@ -124,6 +124,7 @@ google-functions
 google-mail
 google-mail-stream
 google-pubsub
+google-secret-manager
 google-sheets
 google-sheets-stream
 google-storage
diff --git 
a/docs/components/modules/ROOT/examples/json/google-secret-manager.json 
b/docs/components/modules/ROOT/examples/json/google-secret-manager.json
new file mode 120000
index 0000000..4101dfc
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/google-secret-manager.json
@@ -0,0 +1 @@
+../../../../../../components/camel-google/camel-google-secrets-manager/src/generated/resources/org/apache/camel/component/google/secret/manager/google-secret-manager.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc 
b/docs/components/modules/ROOT/nav.adoc
index a60c491..e076097 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -127,6 +127,7 @@
 *** xref:google-mail-component.adoc[Google Mail]
 *** xref:google-mail-stream-component.adoc[Google Mail Stream]
 *** xref:google-pubsub-component.adoc[Google Pubsub]
+*** xref:google-secret-manager-component.adoc[Google Secret Manager]
 *** xref:google-sheets-component.adoc[Google Sheets]
 *** xref:google-sheets-stream-component.adoc[Google Sheets Stream]
 *** xref:google-storage-component.adoc[Google Storage]
diff --git 
a/docs/components/modules/ROOT/pages/google-secret-manager-component.adoc 
b/docs/components/modules/ROOT/pages/google-secret-manager-component.adoc
new file mode 120000
index 0000000..4d44547
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/google-secret-manager-component.adoc
@@ -0,0 +1 @@
+../../../../../components/camel-google/camel-google-secrets-manager/src/main/docs/google-secret-manager-component.adoc
\ No newline at end of file
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index eebdde2..aa9ed5e 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -1729,6 +1729,19 @@ public interface ComponentsBuilderFactory {
         return 
org.apache.camel.builder.component.dsl.GooglePubsubComponentBuilderFactory.googlePubsub();
     }
     /**
+     * Google Secret Manager (camel-google-secrets-manager)
+     * Manage Google Secret Manager Secrets
+     * 
+     * Category: cloud
+     * Since: 3.16
+     * Maven coordinates: org.apache.camel:camel-google-secrets-manager
+     * 
+     * @return the dsl builder
+     */
+    static 
org.apache.camel.builder.component.dsl.GoogleSecretManagerComponentBuilderFactory.GoogleSecretManagerComponentBuilder
 googleSecretManager() {
+        return 
org.apache.camel.builder.component.dsl.GoogleSecretManagerComponentBuilderFactory.googleSecretManager();
+    }
+    /**
      * Google Sheets (camel-google-sheets)
      * Manage spreadsheets in Google Sheets.
      * 
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSecretManagerComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSecretManagerComponentBuilderFactory.java
new file mode 100644
index 0000000..a629700
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleSecretManagerComponentBuilderFactory.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import 
org.apache.camel.component.google.secret.manager.GoogleSecretManagerComponent;
+
+/**
+ * Manage Google Secret Manager Secrets
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface GoogleSecretManagerComponentBuilderFactory {
+
+    /**
+     * Google Secret Manager (camel-google-secrets-manager)
+     * Manage Google Secret Manager Secrets
+     * 
+     * Category: cloud
+     * Since: 3.16
+     * Maven coordinates: org.apache.camel:camel-google-secrets-manager
+     * 
+     * @return the dsl builder
+     */
+    static GoogleSecretManagerComponentBuilder googleSecretManager() {
+        return new GoogleSecretManagerComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Google Secret Manager component.
+     */
+    interface GoogleSecretManagerComponentBuilder
+            extends
+                ComponentBuilder<GoogleSecretManagerComponent> {
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerComponentBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerComponentBuilder autowiredEnabled(
+                boolean autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class GoogleSecretManagerComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<GoogleSecretManagerComponent>
+            implements
+                GoogleSecretManagerComponentBuilder {
+        @Override
+        protected GoogleSecretManagerComponent buildConcreteComponent() {
+            return new GoogleSecretManagerComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "lazyStartProducer": ((GoogleSecretManagerComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((GoogleSecretManagerComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json 
b/dsl/camel-componentdsl/src/generated/resources/metadata.json
index 6ac2b57..d312fe8 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -2796,6 +2796,28 @@
     "producerOnly": false,
     "lenientProperties": false
   },
+  "GoogleSecretManagerComponentBuilderFactory": {
+    "kind": "component",
+    "name": "google-secret-manager",
+    "title": "Google Secret Manager",
+    "description": "Manage Google Secret Manager Secrets",
+    "deprecated": false,
+    "firstVersion": "3.16.0",
+    "label": "cloud",
+    "javaType": 
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-secrets-manager",
+    "version": "3.16.0-SNAPSHOT",
+    "scheme": "google-secret-manager",
+    "extendsScheme": "",
+    "syntax": "google-secret-manager:project",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
   "GoogleSheetsComponentBuilderFactory": {
     "kind": "component",
     "name": "google-sheets",
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 52e696f..3e96fe2 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
@@ -141,6 +141,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.GoogleSecretManagerEndpointBuilderFactory.GoogleSecretManagerBuilders,
             
org.apache.camel.builder.endpoint.dsl.GoogleSheetsEndpointBuilderFactory.GoogleSheetsBuilders,
             
org.apache.camel.builder.endpoint.dsl.GoogleSheetsStreamEndpointBuilderFactory.GoogleSheetsStreamBuilders,
             
org.apache.camel.builder.endpoint.dsl.GoraEndpointBuilderFactory.GoraBuilders,
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 5876f9c..55179a8 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
@@ -138,6 +138,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.GoogleSecretManagerEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.GoogleSheetsEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.GoogleSheetsStreamEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.GoraEndpointBuilderFactory,
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 a4b84a6..9aeab3e 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
@@ -5865,6 +5865,49 @@ public class StaticEndpointBuilders {
         return 
org.apache.camel.builder.endpoint.dsl.GooglePubsubEndpointBuilderFactory.endpointBuilder(componentName,
 path);
     }
     /**
+     * Google Secret Manager (camel-google-secrets-manager)
+     * Manage Google Secret Manager Secrets
+     * 
+     * Category: cloud
+     * Since: 3.16
+     * Maven coordinates: org.apache.camel:camel-google-secrets-manager
+     * 
+     * Syntax: <code>google-secret-manager:project</code>
+     * 
+     * Path parameter: project (required)
+     * The Google Cloud Project Id name related to the Secret Manager
+     * 
+     * @param path project
+     * @return the dsl builder
+     */
+    public static 
org.apache.camel.builder.endpoint.dsl.GoogleSecretManagerEndpointBuilderFactory.GoogleSecretManagerEndpointBuilder
 googleSecretManager(
+            String path) {
+        return 
org.apache.camel.builder.endpoint.dsl.GoogleSecretManagerEndpointBuilderFactory.endpointBuilder("google-secret-manager",
 path);
+    }
+    /**
+     * Google Secret Manager (camel-google-secrets-manager)
+     * Manage Google Secret Manager Secrets
+     * 
+     * Category: cloud
+     * Since: 3.16
+     * Maven coordinates: org.apache.camel:camel-google-secrets-manager
+     * 
+     * Syntax: <code>google-secret-manager:project</code>
+     * 
+     * Path parameter: project (required)
+     * The Google Cloud Project Id name related to the Secret Manager
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path project
+     * @return the dsl builder
+     */
+    public static 
org.apache.camel.builder.endpoint.dsl.GoogleSecretManagerEndpointBuilderFactory.GoogleSecretManagerEndpointBuilder
 googleSecretManager(
+            String componentName,
+            String path) {
+        return 
org.apache.camel.builder.endpoint.dsl.GoogleSecretManagerEndpointBuilderFactory.endpointBuilder(componentName,
 path);
+    }
+    /**
      * Google Sheets (camel-google-sheets)
      * Manage spreadsheets in Google Sheets.
      * 
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSecretManagerEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSecretManagerEndpointBuilderFactory.java
new file mode 100644
index 0000000..f0b6358
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleSecretManagerEndpointBuilderFactory.java
@@ -0,0 +1,274 @@
+/*
+ * 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.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Manage Google Secret Manager Secrets
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface GoogleSecretManagerEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint for the Google Secret Manager component.
+     */
+    public interface GoogleSecretManagerEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedGoogleSecretManagerEndpointBuilder advanced() {
+            return (AdvancedGoogleSecretManagerEndpointBuilder) this;
+        }
+        /**
+         * Service account key to authenticate an application as a service
+         * account.
+         * 
+         * 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 GoogleSecretManagerEndpointBuilder serviceAccountKey(
+                String serviceAccountKey) {
+            doSetProperty("serviceAccountKey", serviceAccountKey);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * The operation to perform on the producer.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder operation(
+                
org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations 
operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform on the producer.
+         * 
+         * The option will be converted to a
+         * 
&lt;code&gt;org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder operation(String operation) 
{
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * Specifies if the request is a pojo request.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder pojoRequest(
+                boolean pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+        /**
+         * Specifies if the request is a pojo request.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder pojoRequest(
+                String pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Google Secret Manager component.
+     */
+    public interface AdvancedGoogleSecretManagerEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default GoogleSecretManagerEndpointBuilder basic() {
+            return (GoogleSecretManagerEndpointBuilder) this;
+        }
+        /**
+         * The client to use during service invocation.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;com.google.cloud.secretmanager.v1.SecretManagerServiceClient&lt;/code&gt;
 type.
+         * 
+         * Group: advanced
+         * 
+         * @param client the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGoogleSecretManagerEndpointBuilder client(
+                com.google.cloud.secretmanager.v1.SecretManagerServiceClient 
client) {
+            doSetProperty("client", client);
+            return this;
+        }
+        /**
+         * The client to use during service invocation.
+         * 
+         * The option will be converted to a
+         * 
&lt;code&gt;com.google.cloud.secretmanager.v1.SecretManagerServiceClient&lt;/code&gt;
 type.
+         * 
+         * Group: advanced
+         * 
+         * @param client the value to set
+         * @return the dsl builder
+         */
+        default AdvancedGoogleSecretManagerEndpointBuilder client(String 
client) {
+            doSetProperty("client", client);
+            return this;
+        }
+    }
+
+    public interface GoogleSecretManagerBuilders {
+        /**
+         * Google Secret Manager (camel-google-secrets-manager)
+         * Manage Google Secret Manager Secrets
+         * 
+         * Category: cloud
+         * Since: 3.16
+         * Maven coordinates: org.apache.camel:camel-google-secrets-manager
+         * 
+         * Syntax: <code>google-secret-manager:project</code>
+         * 
+         * Path parameter: project (required)
+         * The Google Cloud Project Id name related to the Secret Manager
+         * 
+         * @param path project
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder googleSecretManager(
+                String path) {
+            return 
GoogleSecretManagerEndpointBuilderFactory.endpointBuilder("google-secret-manager",
 path);
+        }
+        /**
+         * Google Secret Manager (camel-google-secrets-manager)
+         * Manage Google Secret Manager Secrets
+         * 
+         * Category: cloud
+         * Since: 3.16
+         * Maven coordinates: org.apache.camel:camel-google-secrets-manager
+         * 
+         * Syntax: <code>google-secret-manager:project</code>
+         * 
+         * Path parameter: project (required)
+         * The Google Cloud Project Id name related to the Secret Manager
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path project
+         * @return the dsl builder
+         */
+        default GoogleSecretManagerEndpointBuilder googleSecretManager(
+                String componentName,
+                String path) {
+            return 
GoogleSecretManagerEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+    }
+    static GoogleSecretManagerEndpointBuilder endpointBuilder(
+            String componentName,
+            String path) {
+        class GoogleSecretManagerEndpointBuilderImpl extends 
AbstractEndpointBuilder implements GoogleSecretManagerEndpointBuilder, 
AdvancedGoogleSecretManagerEndpointBuilder {
+            public GoogleSecretManagerEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new GoogleSecretManagerEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
index f974c67..5e023bf 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/EndpointProducerDeserializersResolver.java
@@ -130,6 +130,7 @@ public final class EndpointProducerDeserializersResolver 
implements YamlDeserial
             case "google-functions":
             case "google-mail":
             case "google-pubsub":
+            case "google-secret-manager":
             case "google-sheets":
             case "google-storage":
             case "gora":
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
index cde613c..077a7e6 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
@@ -54,7 +54,8 @@ public final class MojoHelper {
                 return Arrays.asList(dir.resolve("camel-google-bigquery"), 
dir.resolve("camel-google-calendar"),
                         dir.resolve("camel-google-drive"), 
dir.resolve("camel-google-mail"), dir.resolve("camel-google-pubsub"),
                         dir.resolve("camel-google-sheets"),
-                        dir.resolve("camel-google-storage"), 
dir.resolve("camel-google-functions"), 
dir.resolve("camel-google-secrets-manager"));
+                        dir.resolve("camel-google-storage"), 
dir.resolve("camel-google-functions"),
+                        dir.resolve("camel-google-secrets-manager"));
             case "camel-debezium":
                 return Arrays.asList(dir.resolve("camel-debezium-mongodb"), 
dir.resolve("camel-debezium-mysql"),
                         dir.resolve("camel-debezium-postgres"), 
dir.resolve("camel-debezium-sqlserver"));

Reply via email to