This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9c38a272d90cce2892ad7cef4639c75a97b7247b Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Thu Jul 14 11:34:51 2022 +0200 CAMEL-17688 - Support ability to load properties from Vault/Secrets cloud services - Hashicorp Vault --- .../src/main/docs/hashicorp-vault-component.adoc | 148 +++++++++++++++ .../vault/HashicorpVaultPropertiesFunction.java | 10 +- .../HashicorpVaultPropertiesSourceTestIT.java | 210 ++++++++++----------- 3 files changed, 258 insertions(+), 110 deletions(-) diff --git a/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc b/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc index 754b728d90c..c90875c0c51 100644 --- a/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc +++ b/components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc @@ -41,3 +41,151 @@ include::partial$component-endpoint-options.adoc[] // endpoint options: START // endpoint options: END + +=== Using AWS Secrets Manager Property Function + +To use this function you'll need to provide credentials for Hashicorp vault as environment variables: + +[source,bash] +---- +export $CAMEL_VAULT_HASHICORP_USE_DEFAULT_CREDENTIALS_PROVIDER=accessKey +export $CAMEL_VAULT_AWS_SECRET_KEY=secretKey +export $CAMEL_VAULT_AWS_REGION=region +---- + +You can also configure the credentials in the `application.properties` file such as: + +[source,properties] +---- +camel.vault.aws.accessKey = accessKey +camel.vault.aws.secretKey = secretKey +camel.vault.aws.region = region +---- + +If you want instead to use the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html[AWS default credentials provider], you'll need to provide the following env variables: + +[source,bash] +---- +export $CAMEL_VAULT_AWS_USE_DEFAULT_CREDENTIALS_PROVIDER=true +export $CAMEL_VAULT_AWS_REGION=region +---- + +You can also configure the credentials in the `application.properties` file such as: + +[source,properties] +---- +camel.vault.aws.defaultCredentialsProvider = true +camel.vault.aws.region = region +---- + +At this point you'll be able to reference a property in the following way: + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <to uri="{{aws:route}}"/> + </route> +</camelContext> +---- + +Where route will be the name of the secret stored in the AWS Secrets Manager Service. + +You could specify a default value in case the secret is not present on AWS Secret Manager: + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <to uri="{{aws:route:default}}"/> + </route> +</camelContext> +---- + +In this case if the secret doesn't exist, the property will fallback to "default" as value. + +Also you are able to get particular field of the secret, if you have for example a secret named database of this form: + +[source,bash] +---- +{ + "username": "admin", + "password": "password123", + "engine": "postgres", + "host": "127.0.0.1", + "port": "3128", + "dbname": "db" +} +---- + +You're able to do get single secret value in your route, like for example: + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <log message="Username is {{aws:database/username}}"/> + </route> +</camelContext> +---- + +Or re-use the property as part of an endpoint. + +You could specify a default value in case the particular field of secret is not present on AWS Secret Manager: + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <log message="Username is {{aws:database/username:admin}}"/> + </route> +</camelContext> +---- + +In this case if the secret doesn't exist or the secret exists, but the username field is not part of the secret, the property will fallback to "admin" as value. + +There is also the syntax to get a particular version of the secret for both the approach, with field/default value specified or only with secret: + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <to uri="{{aws:route@bf9b4f4b-8e63-43fd-a73c-3e2d3748b451}}"/> + </route> +</camelContext> +---- + +This approach will return the RAW route secret with version 'bf9b4f4b-8e63-43fd-a73c-3e2d3748b451'. + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <to uri="{{aws:route:default@bf9b4f4b-8e63-43fd-a73c-3e2d3748b451}}"/> + </route> +</camelContext> +---- + +This approach will return the route secret value with version 'bf9b4f4b-8e63-43fd-a73c-3e2d3748b451' or default value in case the secret doesn't exist or the version doesn't exist. + +[source,xml] +---- +<camelContext> + <route> + <from uri="direct:start"/> + <log message="Username is {{aws:database/username:admin@bf9b4f4b-8e63-43fd-a73c-3e2d3748b451}}"/> + </route> +</camelContext> +---- + +This approach will return the username field of the database secret with version 'bf9b4f4b-8e63-43fd-a73c-3e2d3748b451' or admin in case the secret doesn't exist or the version doesn't exist. + +For the moment we are not considering the rotation function, if any will be applied, but it is in the work to be done. + +The only requirement is adding the camel-aws-secrets-manager jar to your Camel application. diff --git a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java index d5176fc5f04..d9607dda592 100644 --- a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java +++ b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java @@ -72,13 +72,13 @@ import org.springframework.vault.support.VaultResponse; @org.apache.camel.spi.annotations.PropertiesFunction("hashicorp") public class HashicorpVaultPropertiesFunction extends ServiceSupport implements PropertiesFunction, CamelContextAware { - private static final String CAMEL_HASHICORP_VAULT_TOKEN_ENV = "CAMEL_HASHICORP_VAULT_TOKEN_ENV"; - private static final String CAMEL_HASHICORP_VAULT_ENGINE_ENV = "CAMEL_HASHICORP_VAULT_ENGINE_ENV"; - private static final String CAMEL_HASHICORP_VAULT_HOST_ENV = "CAMEL_HASHICORP_VAULT_HOST_ENV"; + private static final String CAMEL_HASHICORP_VAULT_TOKEN_ENV = "CAMEL_HASHICORP_VAULT_TOKEN"; + private static final String CAMEL_HASHICORP_VAULT_ENGINE_ENV = "CAMEL_HASHICORP_VAULT_ENGINE"; + private static final String CAMEL_HASHICORP_VAULT_HOST_ENV = "CAMEL_HASHICORP_VAULT_HOST"; private static final String CAMEL_HASHICORP_VAULT_PORT_ENV - = "CAMEL_HASHICORP_VAULT_PORT_ENV"; + = "CAMEL_HASHICORP_VAULT_PORT"; private static final String CAMEL_HASHICORP_VAULT_SCHEME_ENV - = "CAMEL_HASHICORP_VAULT_SCHEME_ENV"; + = "CAMEL_HASHICORP_VAULT_SCHEME"; private CamelContext camelContext; private VaultTemplate client; diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java index 5a04babc1e1..17b73d96275 100644 --- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java +++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java @@ -26,11 +26,11 @@ import static org.junit.jupiter.api.Assertions.assertThrows; public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testFunctio() throws Exception { context.addRoutes(new RouteBuilder() { @@ -48,11 +48,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testFunctionWithField() throws Exception { context.addRoutes(new RouteBuilder() { @@ -70,11 +70,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -93,11 +93,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testSecretNotFoundFunction() { Exception exception = assertThrows(FailedToCreateRouteException.class, () -> { @@ -117,11 +117,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { }); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexNoSubkeyPropertiesFunction() { Exception exception = assertThrows(FailedToCreateRouteException.class, () -> { @@ -140,11 +140,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { }); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesDefaultValueFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -163,11 +163,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesDefaultValueExceptionFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -186,11 +186,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesExceptionFunction() { Exception exception = assertThrows(FailedToCreateRouteException.class, () -> { @@ -211,11 +211,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { }); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexSimpleDefaultValueExceptionFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -234,11 +234,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexSimpleNoDefaultValueExceptionFunction() { Exception exception = assertThrows(FailedToCreateRouteException.class, () -> { @@ -257,11 +257,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { }); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesNoDefaultValueFunction() { Exception exception = assertThrows(FailedToCreateRouteException.class, () -> { @@ -282,11 +282,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { }); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesNotExistentDefaultValueFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -303,11 +303,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testComplexCustomPropertiesDefaultCredsDefaultValueFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -324,11 +324,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithDefaultFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -347,11 +347,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithDefaultNotExistentFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -370,11 +370,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithVersionFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -391,11 +391,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithVersionAndNoFieldFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -412,11 +412,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithVersionNoFieldAndDefaultValueFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -434,11 +434,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithVersionNoFieldDefaultValueNotExistentSecretFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -456,11 +456,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithVersionNoFieldDefaultValueNotExistentVersionFunction() throws Exception { context.addRoutes(new RouteBuilder() { @@ -478,11 +478,11 @@ public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport { assertMockEndpointsSatisfied(); } - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT_ENV", matches = ".*") - @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME_ENV", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_ENGINE", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", matches = ".*") + @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", matches = ".*") @Test public void testPropertiesWithVersionFieldAndDefaultValueFunction() throws Exception { context.addRoutes(new RouteBuilder() {