diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-06-29 09:46:13 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-06-29 09:57:03 +0200 |
commit | 59b5da29c4c1bce5a3bc06e28bacb861d4d620b4 (patch) | |
tree | 6bca720d8df0592abd888c9f8c7459dad3d6ccef /hosted-zone-api/src | |
parent | c4988ee92920c827bb60f0ce30dcd7d8b49e5363 (diff) |
Add cloud to SystemInfo
Diffstat (limited to 'hosted-zone-api/src')
3 files changed, 20 insertions, 2 deletions
diff --git a/hosted-zone-api/src/main/java/ai/vespa/cloud/Cloud.java b/hosted-zone-api/src/main/java/ai/vespa/cloud/Cloud.java new file mode 100644 index 00000000000..75d002b80dd --- /dev/null +++ b/hosted-zone-api/src/main/java/ai/vespa/cloud/Cloud.java @@ -0,0 +1,9 @@ +package ai.vespa.cloud; + +/** + * The cloud provider of a Vespa Cloud instance. + * + * @author mpolden + */ +public record Cloud(String name) { +} diff --git a/hosted-zone-api/src/main/java/ai/vespa/cloud/SystemInfo.java b/hosted-zone-api/src/main/java/ai/vespa/cloud/SystemInfo.java index 752e78b580f..9502ccdb52c 100644 --- a/hosted-zone-api/src/main/java/ai/vespa/cloud/SystemInfo.java +++ b/hosted-zone-api/src/main/java/ai/vespa/cloud/SystemInfo.java @@ -13,12 +13,14 @@ public class SystemInfo { private final ApplicationId application; private final Zone zone; + private final Cloud cloud; private final Cluster cluster; private final Node node; - public SystemInfo(ApplicationId application, Zone zone, Cluster cluster, Node node) { + public SystemInfo(ApplicationId application, Zone zone, Cloud cloud, Cluster cluster, Node node) { this.application = Objects.requireNonNull(application, "Application cannot be null"); this.zone = Objects.requireNonNull(zone, "Zone cannot be null"); + this.cloud = Objects.requireNonNull(cloud, "Cloud cannot be null"); this.cluster = Objects.requireNonNull(cluster, "Cluster cannot be null"); this.node = Objects.requireNonNull(node, "Node cannot be null"); } @@ -29,6 +31,11 @@ public class SystemInfo { /** Returns the zone this is running in */ public Zone zone() { return zone; } + /** Returns the cloud provider this is using */ + public Cloud cloud() { + return cloud; + } + /** Returns the cluster this is part of */ public Cluster cluster() { return cluster; } diff --git a/hosted-zone-api/src/test/java/ai/vespa/cloud/SystemInfoTest.java b/hosted-zone-api/src/test/java/ai/vespa/cloud/SystemInfoTest.java index c14955d6614..80b22a185bb 100644 --- a/hosted-zone-api/src/test/java/ai/vespa/cloud/SystemInfoTest.java +++ b/hosted-zone-api/src/test/java/ai/vespa/cloud/SystemInfoTest.java @@ -17,12 +17,14 @@ public class SystemInfoTest { public void testSystemInfo() { ApplicationId application = new ApplicationId("tenant1", "application1", "instance1"); Zone zone = new Zone(Environment.dev, "us-west-1"); + Cloud cloud = new Cloud("aws"); Cluster cluster = new Cluster(1, List.of()); Node node = new Node(0); - SystemInfo info = new SystemInfo(application, zone, cluster, node); + SystemInfo info = new SystemInfo(application, zone, cloud, cluster, node); assertEquals(application, info.application()); assertEquals(zone, info.zone()); + assertEquals(cloud, info.cloud()); assertEquals(cluster, info.cluster()); assertEquals(node, info.node()); } |