summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-03-02 12:58:40 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-03-02 12:58:40 +0100
commitb1d883ccfda5ffedaa1a33bd78e5add94be0f6ef (patch)
tree159aa8825c2c2cbaac7e7a7f941adf94909585e7 /controller-api
parent8ed6255bf1e248eb34d49ef3daf9152c7fa2defc (diff)
Wrap deployment data in an appropriate class
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java70
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ConfigServer.java5
2 files changed, 72 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java
new file mode 100644
index 00000000000..15fa2120e3a
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/model/DeploymentData.java
@@ -0,0 +1,70 @@
+package com.yahoo.vespa.hosted.controller.api.application.v4.model;
+
+import com.yahoo.component.Version;
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.zone.ZoneId;
+import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCertificateMetadata;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.ContainerEndpoint;
+
+import java.io.IOException;
+import java.util.Optional;
+import java.util.Set;
+
+import static java.util.Objects.requireNonNull;
+
+/**
+ * Data pertaining to a deployment to be done on a config server.
+ *
+ * @author jonmv
+ */
+public class DeploymentData {
+
+ private final ApplicationId instance;
+ private final ZoneId zone;
+ private final byte[] applicationPackage;
+ private final Version platform;
+ private final boolean ignoreValidationErrors;
+ private final Set<ContainerEndpoint> containerEndpoints;
+ private final Optional<EndpointCertificateMetadata> endpointCertificateMetadata;
+
+ public DeploymentData(ApplicationId instance, ZoneId zone, byte[] applicationPackage, Version platform,
+ boolean ignoreValidationErrors, Set<ContainerEndpoint> containerEndpoints,
+ Optional<EndpointCertificateMetadata> endpointCertificateMetadata) {
+ this.instance = requireNonNull(instance);
+ this.zone = requireNonNull(zone);
+ this.applicationPackage = requireNonNull(applicationPackage);
+ this.platform = requireNonNull(platform);
+ this.ignoreValidationErrors = requireNonNull(ignoreValidationErrors);
+ this.containerEndpoints = requireNonNull(containerEndpoints);
+ this.endpointCertificateMetadata = requireNonNull(endpointCertificateMetadata);
+ }
+
+ public ApplicationId instance() {
+ return instance;
+ }
+
+ public ZoneId zone() {
+ return zone;
+ }
+
+ public byte[] applicationPackage() {
+ return applicationPackage;
+ }
+
+ public Version platform() {
+ return platform;
+ }
+
+ public boolean ignoreValidationErrors() {
+ return ignoreValidationErrors;
+ }
+
+ public Set<ContainerEndpoint> containerEndpoints() {
+ return containerEndpoints;
+ }
+
+ public Optional<EndpointCertificateMetadata> endpointCertificateMetadata() {
+ return endpointCertificateMetadata;
+ }
+
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ConfigServer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ConfigServer.java
index 722f9c4e33b..7ea7a350c0c 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ConfigServer.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ConfigServer.java
@@ -7,6 +7,7 @@ import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.flags.json.FlagData;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.ClusterMetrics;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeployOptions;
+import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeploymentData;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.EndpointStatus;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.identifiers.Hostname;
@@ -32,9 +33,7 @@ public interface ConfigServer {
PrepareResponse prepareResponse();
}
- PreparedApplication deploy(DeploymentId deployment, DeployOptions deployOptions,
- Set<ContainerEndpoint> containerEndpoints, Optional<EndpointCertificateMetadata> endpointCertificateMetadata,
- byte[] content);
+ PreparedApplication deploy(DeploymentData deployment);
void restart(DeploymentId deployment, Optional<Hostname> hostname);