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 | |
parent | c4988ee92920c827bb60f0ce30dcd7d8b49e5363 (diff) |
Add cloud to SystemInfo
Diffstat (limited to 'hosted-zone-api')
4 files changed, 39 insertions, 3 deletions
diff --git a/hosted-zone-api/abi-spec.json b/hosted-zone-api/abi-spec.json index 826f731b4e0..5708ae8374c 100644 --- a/hosted-zone-api/abi-spec.json +++ b/hosted-zone-api/abi-spec.json @@ -16,6 +16,23 @@ ], "fields": [] }, + "ai.vespa.cloud.Cloud": { + "superClass": "java.lang.Record", + "interfaces": [], + "attributes": [ + "public", + "final", + "record" + ], + "methods": [ + "public void <init>(java.lang.String)", + "public final java.lang.String toString()", + "public final int hashCode()", + "public final boolean equals(java.lang.Object)", + "public java.lang.String name()" + ], + "fields": [] + }, "ai.vespa.cloud.Cluster": { "superClass": "java.lang.Object", "interfaces": [], @@ -72,9 +89,10 @@ "public" ], "methods": [ - "public void <init>(ai.vespa.cloud.ApplicationId, ai.vespa.cloud.Zone, ai.vespa.cloud.Cluster, ai.vespa.cloud.Node)", + "public void <init>(ai.vespa.cloud.ApplicationId, ai.vespa.cloud.Zone, ai.vespa.cloud.Cloud, ai.vespa.cloud.Cluster, ai.vespa.cloud.Node)", "public ai.vespa.cloud.ApplicationId application()", "public ai.vespa.cloud.Zone zone()", + "public ai.vespa.cloud.Cloud cloud()", "public ai.vespa.cloud.Cluster cluster()", "public ai.vespa.cloud.Node node()" ], 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()); } |