diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-09-17 14:48:42 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-09-17 14:52:21 +0200 |
commit | 11f8b451d68ed7d2814e5b9399266321d4ff753c (patch) | |
tree | 9c159b19ebb7d59e234b9c003fc7d22b2490ce4d /controller-api | |
parent | dfc86a3d6dd39c57b623217e24e80730758888e4 (diff) |
Add client type for target versions
Diffstat (limited to 'controller-api')
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(); |