diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-12-09 15:31:17 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-12-09 15:31:17 +0100 |
commit | 9822c3c3e54cab0befb7dfb7f34dc4eced6a796d (patch) | |
tree | 34bad004b0c26f6d290215c5272b64469c8dc13a /hosted-zone-api | |
parent | 800c53c580717f7f1d8bcc02d31235ac6d3673d2 (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.java | 24 |
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; } + } |