summaryrefslogtreecommitdiffstats
path: root/hosted-zone-api/src
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-06-29 09:46:13 +0200
committerMartin Polden <mpolden@mpolden.no>2022-06-29 09:57:03 +0200
commit59b5da29c4c1bce5a3bc06e28bacb861d4d620b4 (patch)
tree6bca720d8df0592abd888c9f8c7459dad3d6ccef /hosted-zone-api/src
parentc4988ee92920c827bb60f0ce30dcd7d8b49e5363 (diff)
Add cloud to SystemInfo
Diffstat (limited to 'hosted-zone-api/src')
-rw-r--r--hosted-zone-api/src/main/java/ai/vespa/cloud/Cloud.java9
-rw-r--r--hosted-zone-api/src/main/java/ai/vespa/cloud/SystemInfo.java9
-rw-r--r--hosted-zone-api/src/test/java/ai/vespa/cloud/SystemInfoTest.java4
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());
}