summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2017-09-04 10:05:38 -0700
committerJesse Morgan <jesse@jesterpm.net>2017-09-04 10:05:38 -0700
commitcbf149af1f07bb98c1f856948a79dcf3fb0c43b3 (patch)
tree7901334e10e181ba2c79c09b3a9a32f16c1abc42 /src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java
parent72ee0f10ddca0d880e50d13446f9ac0269e542eb (diff)
SESNotificationService to accept multiple destinations.20170904
notificationEmail is now a comma separated list of addresses. Adding unit tests for SESNotificationService. Refactored AWS credential selection into ConfigCredentialProvider.
Diffstat (limited to 'src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java')
-rw-r--r--src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java b/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java
new file mode 100644
index 0000000..06abd48
--- /dev/null
+++ b/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java
@@ -0,0 +1,43 @@
+package com.p4square.grow.config;
+
+import com.amazonaws.auth.AWSCredentials;
+import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
+
+/**
+ * AWSCredentials credentials backed by config.
+ *
+ * Falls back to DefaultAWSCredentialsProviderChain if the credentials are not in the config.
+ */
+public class ConfigCredentialProvider implements AWSCredentials {
+
+ private AWSCredentials mCredentials;
+
+ public ConfigCredentialProvider(final Config config) {
+ String awsAccessKey = config.getString("awsAccessKey");
+ if (awsAccessKey != null) {
+ mCredentials = new AWSCredentials() {
+ @Override
+ public String getAWSAccessKeyId() {
+ return config.getString("awsAccessKey");
+ }
+
+ @Override
+ public String getAWSSecretKey() {
+ return config.getString("awsSecretKey");
+ }
+ };
+ } else {
+ mCredentials = new DefaultAWSCredentialsProviderChain().getCredentials();
+ }
+ }
+
+ @Override
+ public String getAWSAccessKeyId() {
+ return mCredentials.getAWSAccessKeyId();
+ }
+
+ @Override
+ public String getAWSSecretKey() {
+ return mCredentials.getAWSSecretKey();
+ }
+}