summaryrefslogtreecommitdiffstats
path: root/hosted-zone-api
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-12-09 15:31:17 +0100
committerJon Bratseth <bratseth@gmail.com>2021-12-09 15:31:17 +0100
commit9822c3c3e54cab0befb7dfb7f34dc4eced6a796d (patch)
tree34bad004b0c26f6d290215c5272b64469c8dc13a /hosted-zone-api
parent800c53c580717f7f1d8bcc02d31235ac6d3673d2 (diff)
Add zone info to query profile context
Diffstat (limited to 'hosted-zone-api')
-rw-r--r--hosted-zone-api/src/main/java/ai/vespa/cloud/ZoneInfo.java24
1 files changed, 20 insertions, 4 deletions
diff --git a/hosted-zone-api/src/main/java/ai/vespa/cloud/ZoneInfo.java b/hosted-zone-api/src/main/java/ai/vespa/cloud/ZoneInfo.java
index d9af2421ab9..e4b69caa940 100644
--- a/hosted-zone-api/src/main/java/ai/vespa/cloud/ZoneInfo.java
+++ b/hosted-zone-api/src/main/java/ai/vespa/cloud/ZoneInfo.java
@@ -4,9 +4,9 @@ package ai.vespa.cloud;
import java.util.Objects;
/**
- * Provides information about the zone in which this container is running.
+ * Provides information about the zone context in which this container is running.
* This is available and can be injected when running in a cloud environment.
- * If you don't need any other information than the zone this should be preferred
+ * If you don't need any other information than what's present here this should be preferred
* to SystemInfo as it will never change at runtime and therefore does not
* cause unnecessary reconstruction.
*
@@ -14,14 +14,30 @@ import java.util.Objects;
*/
public class ZoneInfo {
+ private static final ZoneInfo defaultInfo = new ZoneInfo(new ApplicationId("default", "default", "default"),
+ new Zone(Environment.prod, "default"));
+
+ private final ApplicationId application;
private final Zone zone;
+ public ZoneInfo(ApplicationId application, Zone zone) {
+ this.application = Objects.requireNonNull(application, "Application cannot be null!");
+ this.zone = Objects.requireNonNull(zone, "Zone cannot be null!");
+ }
+
+ /** @deprecated pass an application id */
+ @Deprecated // Remove on Vespa 8
public ZoneInfo(Zone zone) {
- Objects.requireNonNull(zone, "Zone cannot be null!");
- this.zone = zone;
+ this(new ApplicationId("default", "default", "default"), zone);
}
+ /** Returns the application this is running as part of */
+ public ApplicationId application() { return application; }
+
/** Returns the zone this is running in */
public Zone zone() { return zone; }
+ /** Returns the info instance used when no zone info is available because we're not running in a cloud context */
+ public static ZoneInfo defaultInfo() { return defaultInfo; }
+
}