diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-03-02 12:58:40 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-03-02 12:58:40 +0100 |
commit | b1d883ccfda5ffedaa1a33bd78e5add94be0f6ef (patch) | |
tree | 159aa8825c2c2cbaac7e7a7f941adf94909585e7 /controller-api | |
parent | 8ed6255bf1e248eb34d49ef3daf9152c7fa2defc (diff) |
Wrap deployment data in an appropriate class
Diffstat (limited to 'controller-api')
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); |