This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch CAMEL-21768 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2997167ef797f8dd74a19e5eb4b4d2a8fd619923 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Fri Feb 28 17:22:40 2025 +0100 CAMEL-21768 - Camel-IBM-Secrets-Manager: Create a properties function Signed-off-by: Andrea Cosentino <anco...@gmail.com> --- .../main/camel-main-configuration-metadata.json | 3 + components/camel-ibm-secrets-manager/pom.xml | 5 + .../org/apache/camel/properties-function/ibm | 2 + .../IBMSecretsManagerPropertiesFunction.java | 230 +++++++++++++++++++++ ...MSecretsManagerNoEnvPropertiesSourceTestIT.java | 92 +++++++++ .../vault/IBMSecretsManagerVaultConfiguration.java | 52 +++++ .../org/apache/camel/vault/VaultConfiguration.java | 19 ++ core/camel-main/pom.xml | 2 + .../main/AwsVaultConfigurationConfigurer.java | 6 + .../AwsVaultConfigurationPropertiesConfigurer.java | 7 + .../main/AzureVaultConfigurationConfigurer.java | 6 + ...zureVaultConfigurationPropertiesConfigurer.java | 7 + .../main/GcpVaultConfigurationConfigurer.java | 6 + .../GcpVaultConfigurationPropertiesConfigurer.java | 7 + .../HashicorpVaultConfigurationConfigurer.java | 6 + ...corpVaultConfigurationPropertiesConfigurer.java | 7 + ...ecretsManagerVaultConfigurationConfigurer.java} | 35 ++-- ...gerVaultConfigurationPropertiesConfigurer.java} | 42 ++-- ...netesConfigMapVaultConfigurationConfigurer.java | 6 + ...mapsVaultConfigurationPropertiesConfigurer.java | 7 + .../KubernetesVaultConfigurationConfigurer.java | 6 + ...etesVaultConfigurationPropertiesConfigurer.java | 7 + .../camel-main-configuration-metadata.json | 3 + ...n.IBMSecretsManagerVaultConfigurationProperties | 2 + ...camel.vault.IBMSecretsManagerVaultConfiguration | 2 + core/camel-main/src/main/docs/main.adoc | 11 + .../org/apache/camel/main/BaseMainSupport.java | 3 + ...SecretsManagerVaultConfigurationProperties.java | 69 +++++++ .../camel/main/VaultConfigurationProperties.java | 12 ++ .../java/org/apache/camel/main/MainVaultTest.java | 41 ++++ .../maven/packaging/PrepareCamelMainMojo.java | 16 ++ 31 files changed, 676 insertions(+), 43 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json index 626329f7b43..b44a19c20c4 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json @@ -16,6 +16,7 @@ { "name": "camel.vault.kubernetes", "description": "Camel Kubernetes Vault configurations", "sourceType": "org.apache.camel.vault.KubernetesVaultConfiguration" }, { "name": "camel.vault.kubernetescm", "description": "Camel Kubernetes Configmaps Vault configurations", "sourceType": "org.apache.camel.vault.KubernetesConfigMapVaultConfiguration" }, { "name": "camel.vault.hashicorp", "description": "Camel Hashicorp Vault configurations", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration" }, + { "name": "camel.vault.ibm", "description": "Camel IBM Secrets Manager Vault configurations", "sourceType": "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration" }, { "name": "camel.opentelemetry", "description": "Camel OpenTelemetry configurations", "sourceType": "org.apache.camel.main.OtelConfigurationProperties" }, { "name": "camel.opentelemetry2", "description": "Camel OpenTelemetry 2 configurations", "sourceType": "org.apache.camel.main.Otel2ConfigurationProperties" }, { "name": "camel.telemetryDev", "description": "Camel Telemetry Dev configurations", "sourceType": "org.apache.camel.main.TelemetryDevConfigurationProperties" }, @@ -389,6 +390,8 @@ { "name": "camel.vault.hashicorp.port", "description": "Port to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.scheme", "description": "Scheme to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.token", "description": "Token to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, + { "name": "camel.vault.ibm.serviceUrl", "description": "Service URL to access IBM Secrets Manager vault", "sourceType": "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, + { "name": "camel.vault.ibm.token", "description": "Token to access IBM Secrets Manager vault", "sourceType": "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.kubernetes.refreshEnabled", "description": "Whether to automatically reload Camel upon secrets being updated in Kubernetes Cluster.", "sourceType": "org.apache.camel.vault.KubernetesVaultConfiguration", "type": "boolean", "javaType": "boolean", "defaultValue": "false" }, { "name": "camel.vault.kubernetes.secrets", "description": "Specify the secret names (or pattern) to check for updates. Multiple secrets can be separated by comma.", "sourceType": "org.apache.camel.vault.KubernetesVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.kubernetescm.configmaps", "description": "Specify the configmap names (or pattern) to check for updates. Multiple configmaps can be separated by comma.", "sourceType": "org.apache.camel.vault.KubernetesConfigMapVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, diff --git a/components/camel-ibm-secrets-manager/pom.xml b/components/camel-ibm-secrets-manager/pom.xml index 71d23db3d97..f3a4a1112c1 100644 --- a/components/camel-ibm-secrets-manager/pom.xml +++ b/components/camel-ibm-secrets-manager/pom.xml @@ -49,6 +49,11 @@ <version>${ibm-secrets-manager-version}</version> </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + </dependency> + <!-- for testing --> <dependency> <groupId>org.apache.camel</groupId> diff --git a/components/camel-ibm-secrets-manager/src/generated/resources/META-INF/services/org/apache/camel/properties-function/ibm b/components/camel-ibm-secrets-manager/src/generated/resources/META-INF/services/org/apache/camel/properties-function/ibm new file mode 100644 index 00000000000..234fdd75e22 --- /dev/null +++ b/components/camel-ibm-secrets-manager/src/generated/resources/META-INF/services/org/apache/camel/properties-function/ibm @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.ibm.secrets.manager.IBMSecretsManagerPropertiesFunction diff --git a/components/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java b/components/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java new file mode 100644 index 00000000000..7c12ac7b5d4 --- /dev/null +++ b/components/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java @@ -0,0 +1,230 @@ +/* + * 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.component.ibm.secrets.manager; + +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.ibm.cloud.sdk.core.http.Response; +import com.ibm.cloud.sdk.core.security.IamAuthenticator; +import com.ibm.cloud.secrets_manager_sdk.secrets_manager.v2.SecretsManager; +import com.ibm.cloud.secrets_manager_sdk.secrets_manager.v2.model.GetSecretByNameTypeOptions; +import com.ibm.cloud.secrets_manager_sdk.secrets_manager.v2.model.GetSecretVersionOptions; +import com.ibm.cloud.secrets_manager_sdk.secrets_manager.v2.model.Secret; +import com.ibm.cloud.secrets_manager_sdk.secrets_manager.v2.model.SecretVersion; +import org.apache.camel.CamelContext; +import org.apache.camel.CamelContextAware; +import org.apache.camel.RuntimeCamelException; +import org.apache.camel.spi.PropertiesFunction; +import org.apache.camel.support.service.ServiceSupport; +import org.apache.camel.util.ObjectHelper; +import org.apache.camel.util.StringHelper; +import org.apache.camel.vault.IBMSecretsManagerVaultConfiguration; + +/** + * A {@link PropertiesFunction} that lookup the property value from IBM Secrets Manager service. + * <p/> + * The credentials to access Secrets Manager is defined using three environment variables representing the static + * credentials: + * <ul> + * <li><tt>CAMEL_VAULT_IBM_TOKEN</tt></li> + * <li><tt>CAMEL_VAULT_IBM_SERVICE_URL</tt></li> + * </ul> + * <p/> + * + * Otherwise, it is possible to specify the credentials as properties: + * + * <ul> + * <li><tt>camel.vault.ibm.token</tt></li> + * <li><tt>camel.vault.ibm.serviceUrl</tt></li> + * </ul> + * <p/> + * + * This implementation is to return the secret value associated with a key. The properties related to this kind of + * Properties Function are all prefixed with <tt>ibm:</tt>. For example asking for <tt>ibm:token</tt>, will return the + * secret value associated to the secret named token on AWS Secrets Manager. + * + * Another way of retrieving a secret value is using the following notation <tt>ibm:database/username</tt>: in this case + * the field username of the secret database will be returned. As a fallback, the user could provide a default value, + * which will be returned in case the secret doesn't exist, the secret has been marked for deletion or, for example, if + * a particular field of the secret doesn't exist. For using this feature, the user could use the following notation + * <tt>ibm:database/username:admin</tt>. The admin value will be returned as default value, if the conditions above were + * all met. + */ +@org.apache.camel.spi.annotations.PropertiesFunction("ibm") +public class IBMSecretsManagerPropertiesFunction extends ServiceSupport implements PropertiesFunction, CamelContextAware { + + private static final String CAMEL_AWS_VAULT_IBM_TOKEN_ENV = "CAMEL_VAULT_IBM_TOKEN"; + private static final String CAMEL_AWS_VAULT_IBM_SERVICE_URL_ENV = "CAMEL_VAULT_IBM_SERVICE_URL"; + + private CamelContext camelContext; + private SecretsManager client; + + private final Set<String> secrets = new HashSet<>(); + + public IBMSecretsManagerPropertiesFunction() { + super(); + } + + public IBMSecretsManagerPropertiesFunction(SecretsManager client) { + super(); + this.client = client; + } + + @Override + protected void doStart() throws Exception { + super.doStart(); + + String token = System.getenv(CAMEL_AWS_VAULT_IBM_TOKEN_ENV); + String serviceUrl = System.getenv(CAMEL_AWS_VAULT_IBM_SERVICE_URL_ENV); + if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(serviceUrl)) { + IBMSecretsManagerVaultConfiguration ibmVaultConfiguration + = getCamelContext().getVaultConfiguration().ibmSecretsManager(); + if (ObjectHelper.isNotEmpty(ibmVaultConfiguration)) { + token = ibmVaultConfiguration.getToken(); + serviceUrl = ibmVaultConfiguration.getServiceUrl(); + } + IamAuthenticator iamAuthenticator = new IamAuthenticator.Builder() + .apikey(token) + .build(); + client = new SecretsManager("Camel Secrets Manager Service for Properties", iamAuthenticator); + client.setServiceUrl(serviceUrl); + } else { + throw new RuntimeCamelException( + "Using the IBM Secrets Manager Properties Function requires setting IBM Credentials and service url as application properties or environment variables"); + } + } + + @Override + protected void doStop() throws Exception { + if (client != null) { + client = null; + } + secrets.clear(); + super.doStop(); + } + + @Override + public String getName() { + return "aws"; + } + + @Override + public String apply(String remainder) { + String key = remainder; + String subkey = null; + String returnValue = null; + String defaultValue = null; + String version = null; + if (remainder.contains("#")) { + key = StringHelper.before(remainder, "#"); + subkey = StringHelper.after(remainder, "#"); + defaultValue = StringHelper.after(subkey, ":"); + if (ObjectHelper.isNotEmpty(defaultValue)) { + if (defaultValue.contains("@")) { + version = StringHelper.after(defaultValue, "@"); + defaultValue = StringHelper.before(defaultValue, "@"); + } + } + if (subkey.contains(":")) { + subkey = StringHelper.before(subkey, ":"); + } + if (subkey.contains("@")) { + version = StringHelper.after(subkey, "@"); + subkey = StringHelper.before(subkey, "@"); + } + } else if (remainder.contains(":")) { + key = StringHelper.before(remainder, ":"); + defaultValue = StringHelper.after(remainder, ":"); + if (remainder.contains("@")) { + version = StringHelper.after(remainder, "@"); + defaultValue = StringHelper.before(defaultValue, "@"); + } + } else { + if (remainder.contains("@")) { + key = StringHelper.before(remainder, "@"); + version = StringHelper.after(remainder, "@"); + } + } + + if (key != null) { + try { + returnValue = getSecretFromSource(key, subkey, defaultValue, version); + } catch (JsonProcessingException e) { + throw new RuntimeCamelException("Something went wrong while recovering " + key + " from vault"); + } + } + + return returnValue; + } + + private String getSecretFromSource( + String key, String subkey, String defaultValue, String version) + throws JsonProcessingException { + + // capture name of secret + secrets.add(key); + + String returnValue = ""; + Map<String, Object> data = Map.of(); + GetSecretByNameTypeOptions.Builder secretRequestBuilder = new GetSecretByNameTypeOptions.Builder(); + secretRequestBuilder.secretType(Secret.SecretType.KV).name(key); + secretRequestBuilder.secretGroupName("default"); + Response<Secret> response = client.getSecretByNameType(secretRequestBuilder.build()).execute(); + data = response.getResult().getData(); + if (ObjectHelper.isNotEmpty(version)) { + GetSecretVersionOptions getSecretVersionOptions = new GetSecretVersionOptions.Builder() + .secretId(response.getResult().getId()) + .id(version) + .build(); + + Response<SecretVersion> secVersion = client.getSecretVersion(getSecretVersionOptions).execute(); + data = secVersion.getResult().getData(); + } + if (ObjectHelper.isNotEmpty(data)) { + data = response.getResult().getData(); + } + if (ObjectHelper.isNotEmpty(subkey)) { + returnValue = String.valueOf(data.get(subkey)); + } else { + returnValue = null; + } + if (ObjectHelper.isEmpty(returnValue)) { + returnValue = defaultValue; + } + return returnValue; + } + + @Override + public void setCamelContext(CamelContext camelContext) { + this.camelContext = camelContext; + } + + @Override + public CamelContext getCamelContext() { + return camelContext; + } + + /** + * Ids of the secrets in use + */ + public Set<String> getSecrets() { + return secrets; + } +} diff --git a/components/camel-ibm-secrets-manager/src/test/java/org/apache/camel/component/ibm/secrets/manager/integration/operations/IBMSecretsManagerNoEnvPropertiesSourceTestIT.java b/components/camel-ibm-secrets-manager/src/test/java/org/apache/camel/component/ibm/secrets/manager/integration/operations/IBMSecretsManagerNoEnvPropertiesSourceTestIT.java new file mode 100644 index 00000000000..cc21bc6c9a8 --- /dev/null +++ b/components/camel-ibm-secrets-manager/src/test/java/org/apache/camel/component/ibm/secrets/manager/integration/operations/IBMSecretsManagerNoEnvPropertiesSourceTestIT.java @@ -0,0 +1,92 @@ +/* + * 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.component.ibm.secrets.manager.integration.operations; + +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledIfSystemProperties; +import org.junit.jupiter.api.condition.EnabledIfSystemProperty; + +// Must be manually tested. Provide your own accessKey and secretKey using -Dsecrets-manager and -Dcamel.ibm.sm.serviceurl +@EnabledIfSystemProperties({ + @EnabledIfSystemProperty(named = "camel.ibm.sm.token", matches = ".*", + disabledReason = "Secrets Manager Token not provided"), + @EnabledIfSystemProperty(named = "camel.ibm.sm.serviceurl", matches = ".*", + disabledReason = "Secrets Manager Service URL not provided") +}) +public class IBMSecretsManagerNoEnvPropertiesSourceTestIT extends CamelTestSupport { + + @Test + public void testFunction() throws Exception { + context.getVaultConfiguration().ibmSecretsManager().setToken(System.getProperty("camel.ibm.sm.token")); + context.getVaultConfiguration().ibmSecretsManager().setServiceUrl(System.getProperty("camel.ibm.sm.serviceurl")); + context.addRoutes(new RouteBuilder() { + @Override + public void configure() { + from("direct:start").setBody(simple("{{ibm:authsecdb#username}}")).to("mock:bar"); + } + }); + context.start(); + + getMockEndpoint("mock:bar").expectedBodiesReceived("admin"); + + template.sendBody("direct:start", "Hello World"); + + MockEndpoint.assertIsSatisfied(context); + } + + @Test + public void testFunctionWithVersion() throws Exception { + context.getVaultConfiguration().ibmSecretsManager().setToken(System.getProperty("camel.ibm.sm.token")); + context.getVaultConfiguration().ibmSecretsManager().setServiceUrl(System.getProperty("camel.ibm.sm.serviceurl")); + context.addRoutes(new RouteBuilder() { + @Override + public void configure() { + from("direct:start").setBody(simple("{{ibm:authsecdb#username@current}}")).to("mock:bar"); + } + }); + context.start(); + + getMockEndpoint("mock:bar").expectedBodiesReceived("admin"); + + template.sendBody("direct:start", "Hello World"); + + MockEndpoint.assertIsSatisfied(context); + } + + @Test + public void testFunctionWithUnexistentVersion() throws Exception { + context.getVaultConfiguration().ibmSecretsManager().setToken(System.getProperty("camel.ibm.sm.token")); + context.getVaultConfiguration().ibmSecretsManager().setServiceUrl(System.getProperty("camel.ibm.sm.serviceurl")); + context.addRoutes(new RouteBuilder() { + @Override + public void configure() { + from("direct:start").setBody(simple("{{ibm:authsecdb#username@00221dc6-1911-c29e-fd7a-c4c5d88ce13f}}")) + .to("mock:bar"); + } + }); + context.start(); + + getMockEndpoint("mock:bar").expectedBodiesReceived("admin"); + + template.sendBody("direct:start", "Hello World"); + + MockEndpoint.assertIsSatisfied(context); + } +} diff --git a/core/camel-api/src/main/java/org/apache/camel/vault/IBMSecretsManagerVaultConfiguration.java b/core/camel-api/src/main/java/org/apache/camel/vault/IBMSecretsManagerVaultConfiguration.java new file mode 100644 index 00000000000..d6272066732 --- /dev/null +++ b/core/camel-api/src/main/java/org/apache/camel/vault/IBMSecretsManagerVaultConfiguration.java @@ -0,0 +1,52 @@ +/* + * 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.vault; + +import org.apache.camel.spi.Metadata; + +/** + * Configuration for access to IBM Secrets Manager Vault Secrets. + */ +public class IBMSecretsManagerVaultConfiguration extends VaultConfiguration { + + @Metadata(secret = true) + private String token; + @Metadata + private String serviceUrl; + + public String getToken() { + return token; + } + + /** + * Token to access IBM Secrets Manager vault + */ + public void setToken(String token) { + this.token = token; + } + + public String getServiceUrl() { + return serviceUrl; + } + + /** + * Service URL to access IBM Secrets Manager vault + */ + public void setServiceUrl(String serviceUrl) { + this.serviceUrl = serviceUrl; + } +} diff --git a/core/camel-api/src/main/java/org/apache/camel/vault/VaultConfiguration.java b/core/camel-api/src/main/java/org/apache/camel/vault/VaultConfiguration.java index c34bae04a55..e2025405cd3 100644 --- a/core/camel-api/src/main/java/org/apache/camel/vault/VaultConfiguration.java +++ b/core/camel-api/src/main/java/org/apache/camel/vault/VaultConfiguration.java @@ -27,6 +27,7 @@ public class VaultConfiguration { private HashicorpVaultConfiguration hashicorp; private KubernetesVaultConfiguration kubernetes; private KubernetesConfigMapVaultConfiguration kubernetesConfigmaps; + private IBMSecretsManagerVaultConfiguration ibmSecretsManager; /** * AWS Vault Configuration @@ -88,6 +89,16 @@ public class VaultConfiguration { return kubernetesConfigmaps; } + /** + * IBM Secrets Manager Vault Configuration + */ + public IBMSecretsManagerVaultConfiguration ibmSecretsManager() { + if (ibmSecretsManager == null) { + ibmSecretsManager = new IBMSecretsManagerVaultConfiguration(); + } + return ibmSecretsManager; + } + public AwsVaultConfiguration getAwsVaultConfiguration() { return aws; } @@ -135,4 +146,12 @@ public class VaultConfiguration { public void setKubernetesConfigMapVaultConfiguration(KubernetesConfigMapVaultConfiguration kubernetesConfigmaps) { this.kubernetesConfigmaps = kubernetesConfigmaps; } + + public IBMSecretsManagerVaultConfiguration getIBMSecretsManagerVaultConfiguration() { + return ibmSecretsManager; + } + + public void setIBMSecretsManagerVaultConfiguration(IBMSecretsManagerVaultConfiguration ibmSecretsManager) { + this.ibmSecretsManager = ibmSecretsManager; + } } diff --git a/core/camel-main/pom.xml b/core/camel-main/pom.xml index 5bfb7921258..572193522ce 100644 --- a/core/camel-main/pom.xml +++ b/core/camel-main/pom.xml @@ -169,6 +169,8 @@ <class>org.apache.camel.vault.KubernetesVaultConfiguration=org.apache.camel.main.KubernetesVaultConfiguration</class> <!-- we want to have configurer for KubernetesConfigMapVaultConfiguration in the package main to prevent a split packages issue --> <class>org.apache.camel.vault.KubernetesConfigMapVaultConfiguration=org.apache.camel.main.KubernetesConfigMapVaultConfiguration</class> + <!-- we want to have configurer for IBMSecretsManagerVaultConfiguration in the package main to prevent a split packages issue --> + <class>org.apache.camel.vault.IBMSecretsManagerVaultConfiguration=org.apache.camel.main.IBMSecretsManagerVaultConfiguration</class> </classes> </configuration> </execution> diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationConfigurer.java index a75a2715585..b3c2e8b9f5a 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationConfigurer.java @@ -35,6 +35,8 @@ public class AwsVaultConfigurationConfigurer extends org.apache.camel.support.co case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -78,6 +80,8 @@ public class AwsVaultConfigurationConfigurer extends org.apache.camel.support.co case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -122,6 +126,8 @@ public class AwsVaultConfigurationConfigurer extends org.apache.camel.support.co case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationPropertiesConfigurer.java index 72fdfe8e9b0..32234d8f7c3 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/AwsVaultConfigurationPropertiesConfigurer.java @@ -28,6 +28,7 @@ public class AwsVaultConfigurationPropertiesConfigurer extends org.apache.camel. map.put("DefaultCredentialsProvider", boolean.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); map.put("OverrideEndpoint", boolean.class); @@ -60,6 +61,8 @@ public class AwsVaultConfigurationPropertiesConfigurer extends org.apache.camel. case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -108,6 +111,8 @@ public class AwsVaultConfigurationPropertiesConfigurer extends org.apache.camel. case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -152,6 +157,8 @@ public class AwsVaultConfigurationPropertiesConfigurer extends org.apache.camel. case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationConfigurer.java index ea9daf5791e..62411aa2f9f 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationConfigurer.java @@ -45,6 +45,8 @@ public class AzureVaultConfigurationConfigurer extends org.apache.camel.support. case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -87,6 +89,8 @@ public class AzureVaultConfigurationConfigurer extends org.apache.camel.support. case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -130,6 +134,8 @@ public class AzureVaultConfigurationConfigurer extends org.apache.camel.support. case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationPropertiesConfigurer.java index bf3be0a1c8d..34fc1165cd1 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/AzureVaultConfigurationPropertiesConfigurer.java @@ -33,6 +33,7 @@ public class AzureVaultConfigurationPropertiesConfigurer extends org.apache.came map.put("EventhubConnectionString", java.lang.String.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); map.put("RefreshEnabled", boolean.class); @@ -69,6 +70,8 @@ public class AzureVaultConfigurationPropertiesConfigurer extends org.apache.came case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -116,6 +119,8 @@ public class AzureVaultConfigurationPropertiesConfigurer extends org.apache.came case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -159,6 +164,8 @@ public class AzureVaultConfigurationPropertiesConfigurer extends org.apache.came case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationConfigurer.java index 8608a4157df..6ac3e5e2a0a 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationConfigurer.java @@ -31,6 +31,8 @@ public class GcpVaultConfigurationConfigurer extends org.apache.camel.support.co case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -63,6 +65,8 @@ public class GcpVaultConfigurationConfigurer extends org.apache.camel.support.co case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -96,6 +100,8 @@ public class GcpVaultConfigurationConfigurer extends org.apache.camel.support.co case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationPropertiesConfigurer.java index 9d2b2cea192..a8b9fe502e7 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/GcpVaultConfigurationPropertiesConfigurer.java @@ -26,6 +26,7 @@ public class GcpVaultConfigurationPropertiesConfigurer extends org.apache.camel. map.put("AzureVaultConfiguration", org.apache.camel.vault.AzureVaultConfiguration.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); map.put("ProjectId", java.lang.String.class); @@ -50,6 +51,8 @@ public class GcpVaultConfigurationPropertiesConfigurer extends org.apache.camel. case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -87,6 +90,8 @@ public class GcpVaultConfigurationPropertiesConfigurer extends org.apache.camel. case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -120,6 +125,8 @@ public class GcpVaultConfigurationPropertiesConfigurer extends org.apache.camel. case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java index 31bcaa1ca32..f047233b3c6 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java @@ -33,6 +33,8 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; case "host": target.setHost(property(camelContext, java.lang.String.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -58,6 +60,8 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; case "host": return java.lang.String.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -84,6 +88,8 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); case "host": return target.getHost(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java index c6be0369655..f96da8dce63 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java @@ -28,6 +28,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); map.put("Host", java.lang.String.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); map.put("Namespace", java.lang.String.class); @@ -51,6 +52,8 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; case "host": target.setHost(property(camelContext, java.lang.String.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -81,6 +84,8 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; case "host": return java.lang.String.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -107,6 +112,8 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); case "host": return target.getHost(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationConfigurer.java similarity index 74% copy from core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java copy to core/camel-main/src/generated/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationConfigurer.java index 31bcaa1ca32..823622dd7fe 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationConfigurer.java @@ -10,36 +10,35 @@ import org.apache.camel.spi.PropertyConfigurerGetter; import org.apache.camel.spi.ConfigurerStrategy; import org.apache.camel.spi.GeneratedPropertyConfigurer; import org.apache.camel.util.CaseInsensitiveMap; -import org.apache.camel.vault.HashicorpVaultConfiguration; +import org.apache.camel.vault.IBMSecretsManagerVaultConfiguration; /** * Generated by camel build tools - do NOT edit this file! */ @Generated("org.apache.camel.maven.packaging.GenerateConfigurerMojo") @SuppressWarnings("unchecked") -public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter { +public class IBMSecretsManagerVaultConfigurationConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter { @Override public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) { - org.apache.camel.vault.HashicorpVaultConfiguration target = (org.apache.camel.vault.HashicorpVaultConfiguration) obj; + org.apache.camel.vault.IBMSecretsManagerVaultConfiguration target = (org.apache.camel.vault.IBMSecretsManagerVaultConfiguration) obj; switch (ignoreCase ? name.toLowerCase() : name) { case "awsvaultconfiguration": case "awsVaultConfiguration": target.setAwsVaultConfiguration(property(camelContext, org.apache.camel.vault.AwsVaultConfiguration.class, value)); return true; case "azurevaultconfiguration": case "azureVaultConfiguration": target.setAzureVaultConfiguration(property(camelContext, org.apache.camel.vault.AzureVaultConfiguration.class, value)); return true; - case "cloud": target.setCloud(property(camelContext, boolean.class, value)); return true; case "gcpvaultconfiguration": case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; - case "host": target.setHost(property(camelContext, java.lang.String.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": target.setKubernetesVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesVaultConfiguration.class, value)); return true; - case "namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true; - case "port": target.setPort(property(camelContext, java.lang.String.class, value)); return true; - case "scheme": target.setScheme(property(camelContext, java.lang.String.class, value)); return true; + case "serviceurl": + case "serviceUrl": target.setServiceUrl(property(camelContext, java.lang.String.class, value)); return true; case "token": target.setToken(property(camelContext, java.lang.String.class, value)); return true; default: return false; } @@ -52,19 +51,18 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "awsVaultConfiguration": return org.apache.camel.vault.AwsVaultConfiguration.class; case "azurevaultconfiguration": case "azureVaultConfiguration": return org.apache.camel.vault.AzureVaultConfiguration.class; - case "cloud": return boolean.class; case "gcpvaultconfiguration": case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; - case "host": return java.lang.String.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return org.apache.camel.vault.KubernetesVaultConfiguration.class; - case "namespace": return java.lang.String.class; - case "port": return java.lang.String.class; - case "scheme": return java.lang.String.class; + case "serviceurl": + case "serviceUrl": return java.lang.String.class; case "token": return java.lang.String.class; default: return null; } @@ -72,25 +70,24 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp @Override public Object getOptionValue(Object obj, String name, boolean ignoreCase) { - org.apache.camel.vault.HashicorpVaultConfiguration target = (org.apache.camel.vault.HashicorpVaultConfiguration) obj; + org.apache.camel.vault.IBMSecretsManagerVaultConfiguration target = (org.apache.camel.vault.IBMSecretsManagerVaultConfiguration) obj; switch (ignoreCase ? name.toLowerCase() : name) { case "awsvaultconfiguration": case "awsVaultConfiguration": return target.getAwsVaultConfiguration(); case "azurevaultconfiguration": case "azureVaultConfiguration": return target.getAzureVaultConfiguration(); - case "cloud": return target.isCloud(); case "gcpvaultconfiguration": case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); - case "host": return target.getHost(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return target.getKubernetesVaultConfiguration(); - case "namespace": return target.getNamespace(); - case "port": return target.getPort(); - case "scheme": return target.getScheme(); + case "serviceurl": + case "serviceUrl": return target.getServiceUrl(); case "token": return target.getToken(); default: return null; } diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationPropertiesConfigurer.java similarity index 74% copy from core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java copy to core/camel-main/src/generated/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationPropertiesConfigurer.java index c6be0369655..9a4c1ea3d2d 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationPropertiesConfigurer.java @@ -10,54 +10,50 @@ import org.apache.camel.spi.PropertyConfigurerGetter; import org.apache.camel.spi.ConfigurerStrategy; import org.apache.camel.spi.GeneratedPropertyConfigurer; import org.apache.camel.util.CaseInsensitiveMap; -import org.apache.camel.main.HashicorpVaultConfigurationProperties; +import org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties; /** * Generated by camel build tools - do NOT edit this file! */ @Generated("org.apache.camel.maven.packaging.GenerateConfigurerMojo") @SuppressWarnings("unchecked") -public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, ExtendedPropertyConfigurerGetter { +public class IBMSecretsManagerVaultConfigurationPropertiesConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, ExtendedPropertyConfigurerGetter { private static final Map<String, Object> ALL_OPTIONS; static { Map<String, Object> map = new CaseInsensitiveMap(); map.put("AwsVaultConfiguration", org.apache.camel.vault.AwsVaultConfiguration.class); map.put("AzureVaultConfiguration", org.apache.camel.vault.AzureVaultConfiguration.class); - map.put("Cloud", boolean.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); - map.put("Host", java.lang.String.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); - map.put("Namespace", java.lang.String.class); - map.put("Port", java.lang.String.class); - map.put("Scheme", java.lang.String.class); + map.put("ServiceUrl", java.lang.String.class); map.put("Token", java.lang.String.class); ALL_OPTIONS = map; } @Override public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) { - org.apache.camel.main.HashicorpVaultConfigurationProperties target = (org.apache.camel.main.HashicorpVaultConfigurationProperties) obj; + org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties target = (org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties) obj; switch (ignoreCase ? name.toLowerCase() : name) { case "awsvaultconfiguration": case "awsVaultConfiguration": target.setAwsVaultConfiguration(property(camelContext, org.apache.camel.vault.AwsVaultConfiguration.class, value)); return true; case "azurevaultconfiguration": case "azureVaultConfiguration": target.setAzureVaultConfiguration(property(camelContext, org.apache.camel.vault.AzureVaultConfiguration.class, value)); return true; - case "cloud": target.setCloud(property(camelContext, boolean.class, value)); return true; case "gcpvaultconfiguration": case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; - case "host": target.setHost(property(camelContext, java.lang.String.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": target.setKubernetesVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesVaultConfiguration.class, value)); return true; - case "namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true; - case "port": target.setPort(property(camelContext, java.lang.String.class, value)); return true; - case "scheme": target.setScheme(property(camelContext, java.lang.String.class, value)); return true; + case "serviceurl": + case "serviceUrl": target.setServiceUrl(property(camelContext, java.lang.String.class, value)); return true; case "token": target.setToken(property(camelContext, java.lang.String.class, value)); return true; default: return false; } @@ -75,19 +71,18 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "awsVaultConfiguration": return org.apache.camel.vault.AwsVaultConfiguration.class; case "azurevaultconfiguration": case "azureVaultConfiguration": return org.apache.camel.vault.AzureVaultConfiguration.class; - case "cloud": return boolean.class; case "gcpvaultconfiguration": case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; - case "host": return java.lang.String.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return org.apache.camel.vault.KubernetesVaultConfiguration.class; - case "namespace": return java.lang.String.class; - case "port": return java.lang.String.class; - case "scheme": return java.lang.String.class; + case "serviceurl": + case "serviceUrl": return java.lang.String.class; case "token": return java.lang.String.class; default: return null; } @@ -95,25 +90,24 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. @Override public Object getOptionValue(Object obj, String name, boolean ignoreCase) { - org.apache.camel.main.HashicorpVaultConfigurationProperties target = (org.apache.camel.main.HashicorpVaultConfigurationProperties) obj; + org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties target = (org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties) obj; switch (ignoreCase ? name.toLowerCase() : name) { case "awsvaultconfiguration": case "awsVaultConfiguration": return target.getAwsVaultConfiguration(); case "azurevaultconfiguration": case "azureVaultConfiguration": return target.getAzureVaultConfiguration(); - case "cloud": return target.isCloud(); case "gcpvaultconfiguration": case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); - case "host": return target.getHost(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return target.getKubernetesVaultConfiguration(); - case "namespace": return target.getNamespace(); - case "port": return target.getPort(); - case "scheme": return target.getScheme(); + case "serviceurl": + case "serviceUrl": return target.getServiceUrl(); case "token": return target.getToken(); default: return null; } diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigMapVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigMapVaultConfigurationConfigurer.java index c794470bb55..a578c0138d7 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigMapVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigMapVaultConfigurationConfigurer.java @@ -32,6 +32,8 @@ public class KubernetesConfigMapVaultConfigurationConfigurer extends org.apache. case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -54,6 +56,8 @@ public class KubernetesConfigMapVaultConfigurationConfigurer extends org.apache. case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -77,6 +81,8 @@ public class KubernetesConfigMapVaultConfigurationConfigurer extends org.apache. case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigmapsVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigmapsVaultConfigurationPropertiesConfigurer.java index df0434f7c41..b56d9f689e7 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigmapsVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesConfigmapsVaultConfigurationPropertiesConfigurer.java @@ -27,6 +27,7 @@ public class KubernetesConfigmapsVaultConfigurationPropertiesConfigurer extends map.put("Configmaps", java.lang.String.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); map.put("RefreshEnabled", boolean.class); @@ -46,6 +47,8 @@ public class KubernetesConfigmapsVaultConfigurationPropertiesConfigurer extends case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -73,6 +76,8 @@ public class KubernetesConfigmapsVaultConfigurationPropertiesConfigurer extends case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -96,6 +101,8 @@ public class KubernetesConfigmapsVaultConfigurationPropertiesConfigurer extends case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationConfigurer.java index ce267ca0fa9..4fb4aadaab6 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationConfigurer.java @@ -31,6 +31,8 @@ public class KubernetesVaultConfigurationConfigurer extends org.apache.camel.sup case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -53,6 +55,8 @@ public class KubernetesVaultConfigurationConfigurer extends org.apache.camel.sup case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -76,6 +80,8 @@ public class KubernetesVaultConfigurationConfigurer extends org.apache.camel.sup case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationPropertiesConfigurer.java index 999915dd67e..279b129113c 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/KubernetesVaultConfigurationPropertiesConfigurer.java @@ -26,6 +26,7 @@ public class KubernetesVaultConfigurationPropertiesConfigurer extends org.apache map.put("AzureVaultConfiguration", org.apache.camel.vault.AzureVaultConfiguration.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); + map.put("IBMSecretsManagerVaultConfiguration", org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); map.put("RefreshEnabled", boolean.class); @@ -45,6 +46,8 @@ public class KubernetesVaultConfigurationPropertiesConfigurer extends org.apache case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": target.setHashicorpVaultConfiguration(property(camelContext, org.apache.camel.vault.HashicorpVaultConfiguration.class, value)); return true; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": target.setIBMSecretsManagerVaultConfiguration(property(camelContext, org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class, value)); return true; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": @@ -72,6 +75,8 @@ public class KubernetesVaultConfigurationPropertiesConfigurer extends org.apache case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return org.apache.camel.vault.HashicorpVaultConfiguration.class; + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return org.apache.camel.vault.IBMSecretsManagerVaultConfiguration.class; case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": @@ -95,6 +100,8 @@ public class KubernetesVaultConfigurationPropertiesConfigurer extends org.apache case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": case "hashicorpVaultConfiguration": return target.getHashicorpVaultConfiguration(); + case "ibmsecretsmanagervaultconfiguration": + case "iBMSecretsManagerVaultConfiguration": return target.getIBMSecretsManagerVaultConfiguration(); case "kubernetesconfigmapvaultconfiguration": case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": diff --git a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json index 626329f7b43..b44a19c20c4 100644 --- a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json +++ b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json @@ -16,6 +16,7 @@ { "name": "camel.vault.kubernetes", "description": "Camel Kubernetes Vault configurations", "sourceType": "org.apache.camel.vault.KubernetesVaultConfiguration" }, { "name": "camel.vault.kubernetescm", "description": "Camel Kubernetes Configmaps Vault configurations", "sourceType": "org.apache.camel.vault.KubernetesConfigMapVaultConfiguration" }, { "name": "camel.vault.hashicorp", "description": "Camel Hashicorp Vault configurations", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration" }, + { "name": "camel.vault.ibm", "description": "Camel IBM Secrets Manager Vault configurations", "sourceType": "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration" }, { "name": "camel.opentelemetry", "description": "Camel OpenTelemetry configurations", "sourceType": "org.apache.camel.main.OtelConfigurationProperties" }, { "name": "camel.opentelemetry2", "description": "Camel OpenTelemetry 2 configurations", "sourceType": "org.apache.camel.main.Otel2ConfigurationProperties" }, { "name": "camel.telemetryDev", "description": "Camel Telemetry Dev configurations", "sourceType": "org.apache.camel.main.TelemetryDevConfigurationProperties" }, @@ -389,6 +390,8 @@ { "name": "camel.vault.hashicorp.port", "description": "Port to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.scheme", "description": "Scheme to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.token", "description": "Token to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, + { "name": "camel.vault.ibm.serviceUrl", "description": "Service URL to access IBM Secrets Manager vault", "sourceType": "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, + { "name": "camel.vault.ibm.token", "description": "Token to access IBM Secrets Manager vault", "sourceType": "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.kubernetes.refreshEnabled", "description": "Whether to automatically reload Camel upon secrets being updated in Kubernetes Cluster.", "sourceType": "org.apache.camel.vault.KubernetesVaultConfiguration", "type": "boolean", "javaType": "boolean", "defaultValue": "false" }, { "name": "camel.vault.kubernetes.secrets", "description": "Specify the secret names (or pattern) to check for updates. Multiple secrets can be separated by comma.", "sourceType": "org.apache.camel.vault.KubernetesVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.kubernetescm.configmaps", "description": "Specify the configmap names (or pattern) to check for updates. Multiple configmaps can be separated by comma.", "sourceType": "org.apache.camel.vault.KubernetesConfigMapVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, diff --git a/core/camel-main/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties b/core/camel-main/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties new file mode 100644 index 00000000000..f07caa35095 --- /dev/null +++ b/core/camel-main/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.main.IBMSecretsManagerVaultConfigurationProperties @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.main.IBMSecretsManagerVaultConfigurationPropertiesConfigurer diff --git a/core/camel-main/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.vault.IBMSecretsManagerVaultConfiguration b/core/camel-main/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.vault.IBMSecretsManagerVaultConfiguration new file mode 100644 index 00000000000..775d37ab679 --- /dev/null +++ b/core/camel-main/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.vault.IBMSecretsManagerVaultConfiguration @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.main.IBMSecretsManagerVaultConfigurationConfigurer diff --git a/core/camel-main/src/main/docs/main.adoc b/core/camel-main/src/main/docs/main.adoc index e41711d5f19..b6be0a3d36d 100644 --- a/core/camel-main/src/main/docs/main.adoc +++ b/core/camel-main/src/main/docs/main.adoc @@ -467,6 +467,17 @@ The camel.vault.hashicorp supports 6 options, which are listed below. |=== +=== Camel IBM Secrets Manager Vault configurations +The camel.vault.ibm supports 2 options, which are listed below. + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.vault.ibm.serviceUrl* | Service URL to access IBM Secrets Manager vault | | String +| *camel.vault.ibm.token* | Token to access IBM Secrets Manager vault | | String +|=== + + === Camel OpenTelemetry configurations The camel.opentelemetry supports 10 options, which are listed below. diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java index 903c7affec7..f66e39b8a0d 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java @@ -1918,6 +1918,9 @@ public abstract class BaseMainSupport extends BaseService { if ("kubernetescm".equalsIgnoreCase(name)) { target = target.kubernetesConfigmaps(); } + if ("ibm".equalsIgnoreCase(name)) { + target = target.ibmSecretsManager(); + } // configure all the properties on the vault at once (to ensure they are configured in right order) OrderedLocationProperties config = MainHelper.extractProperties(properties, name + "."); setPropertiesOnTarget(camelContext, target, config, "camel.vault." + name + ".", failIfNotSet, true, diff --git a/core/camel-main/src/main/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationProperties.java b/core/camel-main/src/main/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationProperties.java new file mode 100644 index 00000000000..60250482dce --- /dev/null +++ b/core/camel-main/src/main/java/org/apache/camel/main/IBMSecretsManagerVaultConfigurationProperties.java @@ -0,0 +1,69 @@ +/* + * 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.main; + +import org.apache.camel.spi.BootstrapCloseable; +import org.apache.camel.spi.Configurer; +import org.apache.camel.vault.IBMSecretsManagerVaultConfiguration; + +/** + * Configuration for access to IBM Secrets Manager Vault Secret. + */ +@Configurer(extended = true) +public class IBMSecretsManagerVaultConfigurationProperties extends IBMSecretsManagerVaultConfiguration + implements BootstrapCloseable { + + private MainConfigurationProperties parent; + + public IBMSecretsManagerVaultConfigurationProperties(MainConfigurationProperties parent) { + this.parent = parent; + } + + public MainConfigurationProperties end() { + return parent; + } + + @Override + public void close() { + parent = null; + } + + // getter and setters + // -------------------------------------------------------------- + + // these are inherited from the parent class + + // fluent builders + // -------------------------------------------------------------- + + /** + * The IBM Secrets Manager Vault token + */ + public IBMSecretsManagerVaultConfigurationProperties withToken(String token) { + setToken(token); + return this; + } + + /** + * The IBM Secrets Manager service url + */ + public IBMSecretsManagerVaultConfigurationProperties withServiceUrl(String serviceUrl) { + setServiceUrl(serviceUrl); + return this; + } + +} diff --git a/core/camel-main/src/main/java/org/apache/camel/main/VaultConfigurationProperties.java b/core/camel-main/src/main/java/org/apache/camel/main/VaultConfigurationProperties.java index 837ea6cf1eb..56dd26d74ae 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/VaultConfigurationProperties.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/VaultConfigurationProperties.java @@ -28,6 +28,7 @@ public class VaultConfigurationProperties extends VaultConfiguration implements private HashicorpVaultConfigurationProperties hashicorp; private KubernetesVaultConfigurationProperties kubernetes; private KubernetesConfigmapsVaultConfigurationProperties kubernetesConfigmaps; + private IBMSecretsManagerVaultConfigurationProperties ibmSecretsManager; public VaultConfigurationProperties(MainConfigurationProperties parent) { this.parent = parent; @@ -58,6 +59,9 @@ public class VaultConfigurationProperties extends VaultConfiguration implements if (kubernetesConfigmaps != null) { kubernetesConfigmaps.close(); } + if (ibmSecretsManager != null) { + ibmSecretsManager.close(); + } } // getter and setters @@ -115,4 +119,12 @@ public class VaultConfigurationProperties extends VaultConfiguration implements } return kubernetesConfigmaps; } + + @Override + public IBMSecretsManagerVaultConfigurationProperties ibmSecretsManager() { + if (ibmSecretsManager == null) { + ibmSecretsManager = new IBMSecretsManagerVaultConfigurationProperties(parent); + } + return ibmSecretsManager; + } } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java index 8cf2ea348df..4ecc7134577 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java @@ -447,4 +447,45 @@ public class MainVaultTest { Assertions.assertEquals("xxxx", cfg.getConfigmaps()); main.stop(); } + + @Test + public void testMainIBMSecretsManager() { + Main main = new Main(); + + main.addInitialProperty("camel.vault.ibm.serviceUrl", "http://ibm.cloud.com"); + main.addInitialProperty("camel.vault.ibm.token", "token"); + + main.start(); + + CamelContext context = main.getCamelContext(); + assertNotNull(context); + + IBMSecretsManagerVaultConfiguration cfg = context.getVaultConfiguration().ibmSecretsManager(); + assertNotNull(cfg); + + Assertions.assertEquals("token", cfg.getToken()); + Assertions.assertEquals("http://ibm.cloud.com", cfg.getServiceUrl()); + main.stop(); + } + + @Test + public void testMainIBMFluent() { + Main main = new Main(); + main.configure().vault().ibmSecretsManager() + .withToken("token") + .withServiceUrl("http://ibm.cloud.com") + .end(); + + main.start(); + + CamelContext context = main.getCamelContext(); + assertNotNull(context); + + IBMSecretsManagerVaultConfiguration cfg = context.getVaultConfiguration().ibmSecretsManager(); + assertNotNull(cfg); + + Assertions.assertEquals("token", cfg.getToken()); + Assertions.assertEquals("http://ibm.cloud.com", cfg.getServiceUrl()); + main.stop(); + } } diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java index 703695c1305..b237087036a 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelMainMojo.java @@ -211,6 +211,8 @@ public class PrepareCamelMainMojo extends AbstractGeneratorMojo { prefix = "camel.vault.kubernetescm."; } else if (file.getName().contains("HashicorpVault")) { prefix = "camel.vault.hashicorp."; + } else if (file.getName().contains("IBMSecretsManagerVault")) { + prefix = "camel.vault.ibm."; } else if (file.getName().contains("Health")) { prefix = "camel.health."; } else if (file.getName().contains("StartupCondition")) { @@ -321,6 +323,16 @@ public class PrepareCamelMainMojo extends AbstractGeneratorMojo { throw new MojoFailureException("Error parsing file " + hashicorpVaultConfig + " due " + e.getMessage(), e); } + File ibmVaultConfig + = new File(camelApiDir, "src/main/java/org/apache/camel/vault/IBMSecretsManagerVaultConfiguration.java"); + try { + List<MainModel.MainOptionModel> model = parseConfigurationSource(ibmVaultConfig); + model.forEach(m -> m.setName("camel.vault.ibm." + m.getName())); + data.addAll(model); + } catch (Exception e) { + throw new MojoFailureException("Error parsing file " + ibmVaultConfig + " due " + e.getMessage(), e); + } + // lets sort so they are always ordered (but camel.main in top) data.sort((o1, o2) -> { if (o1.getName().startsWith("camel.main.") && !o2.getName().startsWith("camel.main.")) { @@ -394,6 +406,10 @@ public class PrepareCamelMainMojo extends AbstractGeneratorMojo { new MainGroupModel( "camel.vault.hashicorp", "Camel Hashicorp Vault configurations", "org.apache.camel.vault.HashicorpVaultConfiguration")); + model.getGroups().add( + new MainGroupModel( + "camel.vault.ibm", "Camel IBM Secrets Manager Vault configurations", + "org.apache.camel.vault.IBMSecretsManagerVaultConfiguration")); model.getGroups().add(new MainGroupModel( "camel.opentelemetry", "Camel OpenTelemetry configurations", "org.apache.camel.main.OtelConfigurationProperties"));