summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-09-17 14:48:42 +0200
committerMartin Polden <mpolden@mpolden.no>2019-09-17 14:52:21 +0200
commit11f8b451d68ed7d2814e5b9399266321d4ff753c (patch)
tree9c159b19ebb7d59e234b9c003fc7d22b2490ce4d /controller-api
parentdfc86a3d6dd39c57b623217e24e80730758888e4 (diff)
Add client type for target versions
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeTargetVersions.java37
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java4
2 files changed, 41 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeTargetVersions.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeTargetVersions.java
new file mode 100644
index 00000000000..8811fc7b179
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeTargetVersions.java
@@ -0,0 +1,37 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.noderepository;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.Map;
+
+/**
+ * @author mpolden
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class NodeTargetVersions {
+
+ @JsonProperty("versions")
+ private final Map<NodeType, String> vespaVersions;
+
+ @JsonProperty("osVersions")
+ private final Map<NodeType, String> osVersions;
+
+ @JsonCreator
+ public NodeTargetVersions(@JsonProperty("versions") Map<NodeType, String> vespaVersions,
+ @JsonProperty("osVersions") Map<NodeType, String> osVersions) {
+ this.vespaVersions = Map.copyOf(vespaVersions);
+ this.osVersions = Map.copyOf(osVersions);
+ }
+
+ public Map<NodeType, String> vespaVersions() {
+ return vespaVersions;
+ }
+
+ public Map<NodeType, String> osVersions() {
+ return osVersions;
+ }
+
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java
index fd256873e3e..3b062514e65 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java
@@ -82,6 +82,10 @@ public interface ProvisionResource {
String upgrade(@PathParam("nodeType") NodeType nodeType, NodeUpgrade nodeUpgrade,
@HeaderParam("X-HTTP-Method-Override") String patchOverride);
+ @GET
+ @Path("/upgrade/")
+ NodeTargetVersions upgrade();
+
@POST
@Path("/upgrade/firmware")
String requestFirmwareChecks();