io.dekorate.halkyon.model.ComponentSpec Maven / Gradle / Ivy
/**
* Copyright 2018 The original authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.dekorate.halkyon.model;
import io.dekorate.crd.annotation.CustomResource;
import io.dekorate.deps.jackson.annotation.JsonInclude;
import io.dekorate.deps.jackson.annotation.JsonPropertyOrder;
import io.dekorate.deps.kubernetes.api.model.Doneable;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.Inline;
import io.sundr.transform.annotations.VelocityTransformation;
import io.sundr.transform.annotations.VelocityTransformations;
/**
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"deploymentMode",
"runtime",
"version",
"exposeService",
"storage",
"envs",
"capabilities",
"buildConfig"
})
@Buildable(editableEnabled = false, builderPackage = "io.dekorate.deps.kubernetes.api.builder", inline = @Inline(type = Doneable.class, prefix = "Doneable", value = "done"))
@VelocityTransformations({
@VelocityTransformation(value = "/halkyon-resource.vm"),
@VelocityTransformation(value = "/halkyon-resource-list.vm"),
@VelocityTransformation(value = "/halkyon-status.vm"),
})
@CustomResource(group = "halkyon.io", version = "v1beta1")
public class ComponentSpec {
private DeploymentMode deploymentMode;
private String runtime;
private String version;
private boolean exposeService;
private Integer port;
private Storage storage;
private Env[] envs;
private BuildConfig buildConfig;
private Capabilities capabilities;
public ComponentSpec() {
}
public ComponentSpec(DeploymentMode deploymentMode, String runtime, String version, boolean exposeService, Integer port, Storage storage, Env[] envs, BuildConfig buildConfig, Capabilities capabilities) {
this.deploymentMode = deploymentMode;
this.runtime = runtime;
this.version = version;
this.exposeService = exposeService;
this.port = port;
this.storage = storage;
this.envs = envs;
this.capabilities = capabilities;
this.buildConfig = buildConfig;
}
public DeploymentMode getDeploymentMode() {
return deploymentMode;
}
public void setDeploymentMode(DeploymentMode deploymentMode) {
this.deploymentMode = deploymentMode;
}
public String getRuntime() {
return runtime;
}
public void setRuntime(String runtime) {
this.runtime = runtime;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public boolean isExposeService() {
return exposeService;
}
public void setExposeService(boolean exposeService) {
this.exposeService = exposeService;
}
public Integer getPort() {
return port;
}
public void setPort(Integer port) {
this.port = port;
}
public Storage getStorage() {
return storage;
}
public void setStorage(Storage storage) {
this.storage = storage;
}
public Env[] getEnvs() {
return envs;
}
public void setEnvs(Env[] envs) {
this.envs = envs;
}
public BuildConfig getBuildConfig() {
return buildConfig;
}
public void setBuildConfig(BuildConfig buildConfig) {
this.buildConfig = buildConfig;
}
public Capabilities getCapabilities() {
return capabilities;
}
public void setCapabilities(Capabilities capabilities) {
this.capabilities = capabilities;
}
}