This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 6354f48a77d Camel 21768 (#17315)
6354f48a77d is described below
commit 6354f48a77d028628034adb29e1214b4093230b1
Author: Andrea Cosentino <[email protected]>
AuthorDate: Fri Feb 28 18:08:41 2025 +0100
Camel 21768 (#17315)
* CAMEL-21768 - Camel-IBM-Secrets-Manager: Create a properties function
Signed-off-by: Andrea Cosentino <[email protected]>
* CAMEL-21768 - Camel-IBM-Secrets-Manager: Create a properties function
Signed-off-by: Andrea Cosentino <[email protected]>
---------
Signed-off-by: Andrea Cosentino <[email protected]>
---
.../main/camel-main-configuration-metadata.json | 3 +
components/camel-ibm-secrets-manager/pom.xml | 10 +-
.../org/apache/camel/properties-function/ibm | 2 +
.../IBMSecretsManagerPropertiesFunction.java | 228 +++++++++++++++++++++
...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, 674 insertions(+), 48 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..d4d31bbb0c3 100644
--- a/components/camel-ibm-secrets-manager/pom.xml
+++ b/components/camel-ibm-secrets-manager/pom.xml
@@ -43,11 +43,11 @@
<artifactId>camel-support</artifactId>
</dependency>
- <dependency>
- <groupId>com.ibm.cloud</groupId>
- <artifactId>secrets-manager</artifactId>
- <version>${ibm-secrets-manager-version}</version>
- </dependency>
+ <dependency>
+ <groupId>com.ibm.cloud</groupId>
+ <artifactId>secrets-manager</artifactId>
+ <version>${ibm-secrets-manager-version}</version>
+ </dependency>
<!-- for testing -->
<dependency>
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..d398fb673ca
--- /dev/null
+++
b/components/camel-ibm-secrets-manager/src/main/java/org/apache/camel/component/ibm/secrets/manager/IBMSecretsManagerPropertiesFunction.java
@@ -0,0 +1,228 @@
+/*
+ * 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.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.
+ */
[email protected]("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 (Exception 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) {
+
+ // 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"));