From 16de69e746e3be247df8d45bbef576f64aafed79 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Mon, 21 Oct 2019 13:20:44 +0200 Subject: Add support for downloading application package --- .../controller/api/integration/deployment/ApplicationStore.java | 8 ++++++++ .../com/yahoo/vespa/hosted/controller/api/role/PathGroup.java | 1 + 2 files changed, 9 insertions(+) (limited to 'controller-api') diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java index 5cd29fcd48e..44db38c3ec2 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/ApplicationStore.java @@ -6,6 +6,8 @@ import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.zone.ZoneId; +import java.util.Optional; + /** * Store for the application and tester packages. * @@ -19,6 +21,12 @@ public interface ApplicationStore { /** Returns the tenant application package of the given version. */ byte[] get(TenantName tenant, ApplicationName application, ApplicationVersion applicationVersion); + /** Find application package by given build number */ + default Optional find(TenantName tenant, ApplicationName application, long buildNumber) { + // TODO(mpolden): Remove default once all implemenations catch up + return Optional.empty(); + } + /** Stores the given tenant application package of the given version. */ void put(TenantName tenant, ApplicationName application, ApplicationVersion applicationVersion, byte[] applicationPackage); diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java index 31caa192bda..89f0a3c3382 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java @@ -75,6 +75,7 @@ enum PathGroup { applicationInfo(Matcher.tenant, Matcher.application, Optional.of("/api"), + "/application/v4/tenant/{tenant}/application/{application}/package", "/application/v4/tenant/{tenant}/application/{application}/deploying/{*}", "/application/v4/tenant/{tenant}/application/{application}/instance/{ignored}/deploying/{*}", "/application/v4/tenant/{tenant}/application/{application}/instance/{ignored}/job/{*}", -- cgit v1.2.3