You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/04/05 14:33:48 UTC
[camel] 02/05: CAMEL-18625 - Provide an option to pass specific AWS SAML Profile
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 9ce514c14ead7939c222196508fecce7b523296d
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Apr 5 14:51:11 2023 +0200
CAMEL-18625 - Provide an option to pass specific AWS SAML Profile
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../main/AwsVaultConfigurationProperties.java | 16 ++++++
.../java/org/apache/camel/main/MainVaultTest.java | 59 ++++++++++++++++++++++
2 files changed, 75 insertions(+)
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/AwsVaultConfigurationProperties.java b/core/camel-main/src/main/java/org/apache/camel/main/AwsVaultConfigurationProperties.java
index ce7b852e001..9dc9e3d3a7e 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/AwsVaultConfigurationProperties.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/AwsVaultConfigurationProperties.java
@@ -81,6 +81,22 @@ public class AwsVaultConfigurationProperties extends AwsVaultConfiguration imple
return this;
}
+ /**
+ * Define if we want to use the AWS Profile Credentials Provider or not
+ */
+ public AwsVaultConfigurationProperties withProfileCredentialsProvider(boolean profileCredentialsProvider) {
+ setProfileCredentialsProvider(profileCredentialsProvider);
+ return this;
+ }
+
+ /**
+ * Define the profile name if we are using the Profile Credentials Provider
+ */
+ public AwsVaultConfigurationProperties withProfileName(String profileName) {
+ setProfileName(profileName);
+ return this;
+ }
+
/**
* Whether to automatically reload Camel upon secrets being updated in AWS.
*/
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 2fa3b20d2e3..acb016a0e7a 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
@@ -53,6 +53,35 @@ public class MainVaultTest {
main.stop();
}
+ @Test
+ public void testMainProfileAws() throws Exception {
+ Main main = new Main();
+
+ main.addInitialProperty("camel.vault.aws.accessKey", "myKey");
+ main.addInitialProperty("camel.vault.aws.secretKey", "mySecret");
+ main.addInitialProperty("camel.vault.aws.region", "myRegion");
+ main.addInitialProperty("camel.vault.aws.defaultCredentialsProvider", "false");
+ main.addInitialProperty("camel.vault.aws.profileCredentialsProvider", "true");
+ main.addInitialProperty("camel.vault.aws.profileName", "jack");
+
+ main.start();
+
+ CamelContext context = main.getCamelContext();
+ assertNotNull(context);
+
+ AwsVaultConfiguration cfg = context.getVaultConfiguration().aws();
+ assertNotNull(cfg);
+
+ Assertions.assertEquals("myKey", cfg.getAccessKey());
+ Assertions.assertEquals("mySecret", cfg.getSecretKey());
+ Assertions.assertEquals("myRegion", cfg.getRegion());
+ Assertions.assertEquals(false, cfg.isDefaultCredentialsProvider());
+ Assertions.assertEquals(true, cfg.isProfileCredentialsProvider());
+ Assertions.assertEquals("jack", cfg.getProfileName());
+
+ main.stop();
+ }
+
@Test
public void testMainAwsFluent() throws Exception {
Main main = new Main();
@@ -79,6 +108,36 @@ public class MainVaultTest {
main.stop();
}
+ @Test
+ public void testMainAwsProfileFluent() throws Exception {
+ Main main = new Main();
+ main.configure().vault().aws()
+ .withAccessKey("myKey")
+ .withSecretKey("mySecret")
+ .withRegion("myRegion")
+ .withDefaultCredentialsProvider(false)
+ .withProfileCredentialsProvider(true)
+ .withProfileName("jack")
+ .end();
+
+ main.start();
+
+ CamelContext context = main.getCamelContext();
+ assertNotNull(context);
+
+ AwsVaultConfiguration cfg = context.getVaultConfiguration().aws();
+ assertNotNull(cfg);
+
+ Assertions.assertEquals("myKey", cfg.getAccessKey());
+ Assertions.assertEquals("mySecret", cfg.getSecretKey());
+ Assertions.assertEquals("myRegion", cfg.getRegion());
+ Assertions.assertEquals(false, cfg.isDefaultCredentialsProvider());
+ Assertions.assertEquals(true, cfg.isProfileCredentialsProvider());
+ Assertions.assertEquals("jack", cfg.getProfileName());
+
+ main.stop();
+ }
+
@Test
public void testMainGcp() throws Exception {
Main main = new Main();