summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2021-03-01 16:32:21 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2021-03-01 16:32:21 +0100
commitebba721206b988a86e50b0f85339bf89709dbd36 (patch)
tree613708a8c6c673e0b730e721cbf24ab88f47748d /controller-api
parent4410995dd4db3c617788a857da16fb1c787b586c (diff)
Add bindings for archive methods
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ArchiveList.java22
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java15
2 files changed, 37 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ArchiveList.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ArchiveList.java
new file mode 100644
index 00000000000..562316cc771
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ArchiveList.java
@@ -0,0 +1,22 @@
+// Copyright Verizon Media. 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.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ArchiveList {
+ @JsonProperty("archives")
+ public List<Archive> archives = new ArrayList<>();
+
+ public static class Archive {
+ @JsonProperty("tenant")
+ public String tenant;
+
+ @JsonProperty("uri")
+ public String uri;
+ }
+}
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 337b193a332..b5f86a46e87 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
@@ -1,6 +1,8 @@
// Copyright 2018 Yahoo Holdings. 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.yahoo.config.provision.TenantName;
+
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -11,6 +13,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import java.net.URI;
import java.util.Collection;
/**
@@ -107,5 +110,17 @@ public interface ProvisionResource {
@Path("/upgrade/firmware")
String cancelFirmwareChecks();
+ @GET
+ @Path("/archive")
+ ArchiveList listArchives();
+
+ @POST
+ @Path("/archive/{tenant}")
+ String patchArchiveUri(@PathParam("tenant") TenantName tenant, URI uri,
+ @HeaderParam("X-HTTP-Method-Override") String patchOverride);
+
+ @DELETE
+ @Path("/archive/{tenant}")
+ String removeArchiveUri(@PathParam("tenant") TenantName tenant);
}