summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2020-02-27 15:43:30 +0100
committergjoranv <gv@verizonmedia.com>2020-02-27 15:46:59 +0100
commit4fd3f9276e3c9368cc00dc02eec2820e67df822b (patch)
tree80f249565ba9bf33fc3c9bbd76f2103ec741e7b6
parent3f75d479cc5040732340b48f8a8450a40561ba86 (diff)
Add handling of optional 'file' attribute to 'shared-credentials'
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java22
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/CloudWatchBuilder.java9
-rw-r--r--metrics-proxy/src/main/resources/configdefinitions/telegraf.def1
4 files changed, 26 insertions, 10 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
index 9c68b3eb28a..a1ec308c808 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
@@ -190,7 +190,9 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
cloudWatch.hostedAuth().ifPresent(hostedAuth -> cloudWatchBuilder
.accessKeyName(hostedAuth.accessKeyName)
.secretKeyName(hostedAuth.secretKeyName));
- cloudWatch.profile().ifPresent(cloudWatchBuilder::profile);
+ cloudWatch.sharedCredentials().ifPresent(sharedCredentials -> cloudWatchBuilder
+ .profile(sharedCredentials.profile)
+ .file(sharedCredentials.file));
builder.cloudWatch(cloudWatchBuilder);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java
index fd290409ea5..0f3543d3c36 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java
@@ -13,7 +13,7 @@ public class CloudWatch {
private final MetricsConsumer consumer;
private HostedAuth hostedAuth;
- private String profile;
+ private SharedCredentials sharedCredentials;
public CloudWatch(String region, String namespace, MetricsConsumer consumer) {
this.region = region;
@@ -26,14 +26,14 @@ public class CloudWatch {
public String consumer() { return consumer.getId(); }
public Optional<HostedAuth> hostedAuth() {return Optional.ofNullable(hostedAuth); }
- public Optional<String> profile() { return Optional.ofNullable(profile); }
+ public Optional<SharedCredentials> sharedCredentials() {return Optional.ofNullable(sharedCredentials); }
- public void setHostedAuth(HostedAuth hostedAuth) {
- this.hostedAuth = hostedAuth;
+ public void setHostedAuth(String accessKeyName, String secretKeyName) {
+ hostedAuth = new HostedAuth(accessKeyName, secretKeyName);
}
- public void setProfile(String profile) {
- this.profile = profile;
+ public void setSharedCredentials(String profile, String file) {
+ sharedCredentials = new SharedCredentials(profile, file);
}
public static class HostedAuth {
@@ -46,4 +46,14 @@ public class CloudWatch {
}
}
+ public static class SharedCredentials {
+ public final String profile;
+ public final String file;
+
+ public SharedCredentials(String profile, String file) {
+ this.profile = profile;
+ this.file = file;
+ }
+ }
+
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/CloudWatchBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/CloudWatchBuilder.java
index 74a389b0c9e..5ce941d6638 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/CloudWatchBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/CloudWatchBuilder.java
@@ -19,6 +19,7 @@ public class CloudWatchBuilder {
private static final String SECRET_KEY_ATTRIBUTE = "secret-key-name";
private static final String SHARED_CREDENTIALS_ELEMENT = "shared-credentials";
private static final String PROFILE_ATTRIBUTE = "profile";
+ private static final String FILE_ATTRIBUTE = "file";
public static CloudWatch buildCloudWatch(Element cloudwatchElement, MetricsConsumer consumer) {
CloudWatch cloudWatch = new CloudWatch(cloudwatchElement.getAttribute(REGION_ATTRIBUTE),
@@ -26,10 +27,12 @@ public class CloudWatchBuilder {
consumer);
getOptionalChild(cloudwatchElement, CREDENTIALS_ELEMENT)
- .ifPresent(elem -> cloudWatch.setHostedAuth(new HostedAuth(elem.getAttribute(ACCESS_KEY_ATTRIBUTE),
- elem.getAttribute(SECRET_KEY_ATTRIBUTE))));
+ .ifPresent(elem -> cloudWatch.setHostedAuth(elem.getAttribute(ACCESS_KEY_ATTRIBUTE),
+ elem.getAttribute(SECRET_KEY_ATTRIBUTE)));
+
getOptionalChild(cloudwatchElement, SHARED_CREDENTIALS_ELEMENT)
- .ifPresent(elem -> cloudWatch.setProfile(elem.getAttribute(PROFILE_ATTRIBUTE)));
+ .ifPresent(elem -> cloudWatch.setSharedCredentials(elem.getAttribute(PROFILE_ATTRIBUTE),
+ elem.getAttribute(FILE_ATTRIBUTE)));
return cloudWatch;
}
diff --git a/metrics-proxy/src/main/resources/configdefinitions/telegraf.def b/metrics-proxy/src/main/resources/configdefinitions/telegraf.def
index cb03ce6f1f6..8a87b92cd60 100644
--- a/metrics-proxy/src/main/resources/configdefinitions/telegraf.def
+++ b/metrics-proxy/src/main/resources/configdefinitions/telegraf.def
@@ -19,3 +19,4 @@ cloudWatch[].secretKeyName string default=""
# Only valid and optional for self-hosted Vespa
cloudWatch[].profile string default=""
+cloudWatch[].file string default=""