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: <code>boolean</code> 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: <code>boolean</code> 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: <code>java.lang.String</code> 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: <code>boolean</code> 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 <code>boolean</code> + * 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: + * <code>org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations</code> 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 + * <code>org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations</code> 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: <code>boolean</code> 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 <code>boolean</code> + * 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: + * <code>com.google.cloud.secretmanager.v1.SecretManagerServiceClient</code> 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 + * <code>com.google.cloud.secretmanager.v1.SecretManagerServiceClient</code> 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"));
