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

io.fabric8.knative.serving.v1.Service Maven / Gradle / Ivy

The newest version!

package io.fabric8.knative.serving.v1;

import java.util.LinkedHashMap;
import java.util.Map;
import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.fabric8.kubernetes.api.builder.Editable;
import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.ContainerPort;
import io.fabric8.kubernetes.api.model.EnvVar;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.api.model.IntOrString;
import io.fabric8.kubernetes.api.model.LabelSelector;
import io.fabric8.kubernetes.api.model.LocalObjectReference;
import io.fabric8.kubernetes.api.model.Namespaced;
import io.fabric8.kubernetes.api.model.ObjectMeta;
import io.fabric8.kubernetes.api.model.ObjectReference;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
import io.fabric8.kubernetes.api.model.PodTemplateSpec;
import io.fabric8.kubernetes.api.model.ResourceRequirements;
import io.fabric8.kubernetes.api.model.Volume;
import io.fabric8.kubernetes.api.model.VolumeMount;
import io.fabric8.kubernetes.model.annotation.Group;
import io.fabric8.kubernetes.model.annotation.Version;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.BuildableReference;
import io.sundr.transform.annotations.TemplateTransformation;
import io.sundr.transform.annotations.TemplateTransformations;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "apiVersion", "kind", "metadata", "spec", "status" }) @ToString @EqualsAndHashCode @Accessors(prefix = { "_", "" }) @Buildable(editableEnabled = false, validationEnabled = false, generateBuilderPackage = false, lazyCollectionInitEnabled = false, builderPackage = "io.fabric8.kubernetes.api.builder", refs = { @BuildableReference(ObjectMeta.class), @BuildableReference(LabelSelector.class), @BuildableReference(Container.class), @BuildableReference(PodTemplateSpec.class), @BuildableReference(ResourceRequirements.class), @BuildableReference(IntOrString.class), @BuildableReference(ObjectReference.class), @BuildableReference(LocalObjectReference.class), @BuildableReference(PersistentVolumeClaim.class), @BuildableReference(EnvVar.class), @BuildableReference(ContainerPort.class), @BuildableReference(Volume.class), @BuildableReference(VolumeMount.class) }) @TemplateTransformations({ @TemplateTransformation(value = "/manifest.vm", outputPath = "META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource", gather = true) }) @Version("v1") @Group("serving.knative.dev") @Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") public class Service implements Editable, HasMetadata, Namespaced { @JsonProperty("apiVersion") private String apiVersion = "serving.knative.dev/v1"; @JsonProperty("kind") private String kind = "Service"; @JsonProperty("metadata") private ObjectMeta metadata; @JsonProperty("spec") private ServiceSpec spec; @JsonProperty("status") private ServiceStatus status; @JsonIgnore private Map additionalProperties = new LinkedHashMap(); /** * No args constructor for use in serialization */ public Service() { } public Service(String apiVersion, String kind, ObjectMeta metadata, ServiceSpec spec, ServiceStatus status) { super(); this.apiVersion = apiVersion; this.kind = kind; this.metadata = metadata; this.spec = spec; this.status = status; } /** * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources */ @JsonProperty("apiVersion") public String getApiVersion() { return apiVersion; } /** * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources */ @JsonProperty("apiVersion") public void setApiVersion(String apiVersion) { this.apiVersion = apiVersion; } /** * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds */ @JsonProperty("kind") public String getKind() { return kind; } /** * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds */ @JsonProperty("kind") public void setKind(String kind) { this.kind = kind; } /** * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonProperty("metadata") public ObjectMeta getMetadata() { return metadata; } /** * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonProperty("metadata") public void setMetadata(ObjectMeta metadata) { this.metadata = metadata; } /** * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonProperty("spec") public ServiceSpec getSpec() { return spec; } /** * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonProperty("spec") public void setSpec(ServiceSpec spec) { this.spec = spec; } /** * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonProperty("status") public ServiceStatus getStatus() { return status; } /** * Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.


The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.


See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service */ @JsonProperty("status") public void setStatus(ServiceStatus status) { this.status = status; } @JsonIgnore public ServiceBuilder edit() { return new ServiceBuilder(this); } @JsonIgnore public ServiceBuilder toBuilder() { return edit(); } @JsonAnyGetter public Map getAdditionalProperties() { return this.additionalProperties; } @JsonAnySetter public void setAdditionalProperty(String name, Object value) { this.additionalProperties.put(name, value); } public void setAdditionalProperties(Map additionalProperties) { this.additionalProperties = additionalProperties; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy