diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-10-21 13:20:44 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-10-21 13:20:44 +0200 |
commit | 16de69e746e3be247df8d45bbef576f64aafed79 (patch) | |
tree | e1c7ca3956b788f2ee0ae8569239b208a190a72f /controller-api | |
parent | c4348ba0ee1e05bf2c253bf388fae82435e1c7f0 (diff) |
Add support for downloading application package
Diffstat (limited to 'controller-api')
2 files changed, 9 insertions, 0 deletions
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<byte[]> 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/{*}", |