All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.microcks.operator.api.base.v1alpha1.MicrocksServiceSpec Maven / Gradle / Ivy

There is a newer version: 0.0.2
Show newest version
/*
 * Copyright The Microcks 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.github.microcks.operator.api.base.v1alpha1;

import io.github.microcks.operator.api.model.ImageSpec;
import io.github.microcks.operator.api.model.IngressSpec;
import io.github.microcks.operator.api.model.LogLevel;
import io.github.microcks.operator.api.model.OpenShiftSpec;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import io.fabric8.kubernetes.api.model.AnyType;
import io.fabric8.kubernetes.api.model.EnvVar;
import io.fabric8.kubernetes.api.model.ResourceRequirements;
import io.sundr.builder.annotations.Buildable;

import java.util.List;
import java.util.Map;

/**
 * Representation of the Microcks webapp part of an operator-managed Microcks installation.
 * @author laurent
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ "url", "image", "replicas", "ingress", "grpcIngress", "resources", "mockInvocationStats", "logLevel",
      "openshift", "env", "extraProperties" })
@Buildable(editableEnabled = false, builderPackage = "io.fabric8.kubernetes.api.builder")
public class MicrocksServiceSpec {

   @JsonPropertyDescription("The container image to use for Microcks service")
   private ImageSpec image;

   @JsonPropertyDescription("Number of desired pods for Microcks service")
   private int replicas = 1;

   @JsonPropertyDescription("The URL to use for exposing Microcks main ingress")
   private String url;

   @JsonPropertyDescription("Configuration to apply to Ingress if created")
   private IngressSpec ingress;

   @JsonPropertyDescription("Configuration to apply to Ingress for gRPC if creates")
   private IngressSpec grpcIngress;

   @JsonPropertyDescription("Kubernetes resource requirements for Microcks service")
   private ResourceRequirements resources;

   @JsonPropertyDescription("Enable/disable statistics for mocks invocation. Defaults to true")
   private Boolean mockInvocationStats;

   @JsonPropertyDescription("Allow configuration of logging level. Defaults to INFO")
   private LogLevel logLevel;

   @JsonPropertyDescription("Configuration of OpenShift specific settings")
   private OpenShiftSpec openshift;

   @JsonPropertyDescription("Environment variables for Microcks service")
   private List env;

   @JsonPropertyDescription("Extra properties to integration into application-extra configuration")
   private Map extraProperties;

   public ImageSpec getImage() {
      return image;
   }

   public void setImage(ImageSpec image) {
      this.image = image;
   }

   public int getReplicas() {
      return replicas;
   }

   public void setReplicas(int replicas) {
      this.replicas = replicas;
   }

   public String getUrl() {
      return url;
   }

   public void setUrl(String url) {
      this.url = url;
   }

   public IngressSpec getIngress() {
      return ingress;
   }

   public void setIngress(IngressSpec ingress) {
      this.ingress = ingress;
   }

   public IngressSpec getGrpcIngress() {
      return grpcIngress;
   }

   public void setGrpcIngress(IngressSpec grpcIngress) {
      this.grpcIngress = grpcIngress;
   }

   public ResourceRequirements getResources() {
      return resources;
   }

   public void setResources(ResourceRequirements resources) {
      this.resources = resources;
   }

   public Boolean getMockInvocationStats() {
      return mockInvocationStats;
   }

   public void setMockInvocationStats(Boolean mockInvocationStats) {
      this.mockInvocationStats = mockInvocationStats;
   }

   public LogLevel getLogLevel() {
      return logLevel;
   }

   public void setLogLevel(LogLevel logLevel) {
      this.logLevel = logLevel;
   }

   public OpenShiftSpec getOpenshift() {
      return openshift;
   }

   public void setOpenshift(OpenShiftSpec openshift) {
      this.openshift = openshift;
   }

   public List getEnv() {
      return env;
   }

   public void setEnv(List env) {
      this.env = env;
   }

   public Map getExtraProperties() {
      return extraProperties;
   }

   public void setExtraProperties(Map extraProperties) {
      this.extraProperties = extraProperties;
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy