aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-10-31 15:11:59 +0100
committerJon Bratseth <bratseth@gmail.com>2021-10-31 15:11:59 +0100
commite5c94e10a6edb9e1fd67898313dafb4020ee2a49 (patch)
tree04cfe47c85d4bfdba5e1a196b0197e0856142b1e /container-disc
parent728576fef4bd8ec18f4baf57f1d45bda4423b47e (diff)
Add ZoneInfo
Diffstat (limited to 'container-disc')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/ZoneInfoProvider.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/ZoneInfoProvider.java b/container-disc/src/main/java/com/yahoo/container/jdisc/ZoneInfoProvider.java
new file mode 100644
index 00000000000..30a4c740ff0
--- /dev/null
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/ZoneInfoProvider.java
@@ -0,0 +1,30 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.container.jdisc;
+
+import ai.vespa.cloud.Environment;
+import ai.vespa.cloud.Zone;
+import ai.vespa.cloud.ZoneInfo;
+import com.google.inject.Inject;
+import com.yahoo.cloud.config.ConfigserverConfig;
+import com.yahoo.component.AbstractComponent;
+import com.yahoo.container.di.componentgraph.Provider;
+
+/**
+ * Provides information about the zone in which this container is running.
+ * This is available and can be injected when running in a cloud environment.
+ *
+ * @author bratseth
+ */
+public class ZoneInfoProvider extends AbstractComponent implements Provider<ZoneInfo> {
+
+ private final ZoneInfo instance;
+
+ @Inject
+ public ZoneInfoProvider(ConfigserverConfig csConfig) {
+ this.instance = new ZoneInfo(new Zone(Environment.valueOf(csConfig.environment()), csConfig.region()));
+ }
+
+ @Override
+ public ZoneInfo get() { return instance; }
+
+}