diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicy.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicy.java new file mode 100644 index 0000000000..26602ec8f7 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicy.java @@ -0,0 +1,212 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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; + +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendLBPolicy implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "BackendLBPolicy"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private BackendLBPolicySpec spec; + @JsonProperty("status") + private PolicyStatus status; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendLBPolicy() { + } + + public BackendLBPolicy(String apiVersion, String kind, ObjectMeta metadata, BackendLBPolicySpec spec, PolicyStatus status) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + this.status = status; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public BackendLBPolicySpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(BackendLBPolicySpec spec) { + this.spec = spec; + } + + @JsonProperty("status") + public PolicyStatus getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(PolicyStatus status) { + this.status = status; + } + + @JsonIgnore + public BackendLBPolicyBuilder edit() { + return new BackendLBPolicyBuilder(this); + } + + @JsonIgnore + public BackendLBPolicyBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicyList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicyList.java new file mode 100644 index 0000000000..f064597836 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicyList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendLBPolicyList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "BackendLBPolicyList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendLBPolicyList() { + } + + public BackendLBPolicyList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public BackendLBPolicyListBuilder edit() { + return new BackendLBPolicyListBuilder(this); + } + + @JsonIgnore + public BackendLBPolicyListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicySpec.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicySpec.java new file mode 100644 index 0000000000..478ce95edf --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/BackendLBPolicySpec.java @@ -0,0 +1,135 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.SessionPersistence; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "sessionPersistence", + "targetRefs" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendLBPolicySpec implements Editable, KubernetesResource +{ + + @JsonProperty("sessionPersistence") + private SessionPersistence sessionPersistence; + @JsonProperty("targetRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List targetRefs = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendLBPolicySpec() { + } + + public BackendLBPolicySpec(SessionPersistence sessionPersistence, List targetRefs) { + super(); + this.sessionPersistence = sessionPersistence; + this.targetRefs = targetRefs; + } + + @JsonProperty("sessionPersistence") + public SessionPersistence getSessionPersistence() { + return sessionPersistence; + } + + @JsonProperty("sessionPersistence") + public void setSessionPersistence(SessionPersistence sessionPersistence) { + this.sessionPersistence = sessionPersistence; + } + + @JsonProperty("targetRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getTargetRefs() { + return targetRefs; + } + + @JsonProperty("targetRefs") + public void setTargetRefs(List targetRefs) { + this.targetRefs = targetRefs; + } + + @JsonIgnore + public BackendLBPolicySpecBuilder edit() { + return new BackendLBPolicySpecBuilder(this); + } + + @JsonIgnore + public BackendLBPolicySpecBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/GRPCRoute.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/GRPCRoute.java new file mode 100644 index 0000000000..d91f62a366 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/GRPCRoute.java @@ -0,0 +1,214 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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.api.model.gatewayapi.v1.GRPCRouteSpec; +import io.fabric8.kubernetes.api.model.gatewayapi.v1.GRPCRouteStatus; +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; + +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class GRPCRoute implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "GRPCRoute"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private GRPCRouteSpec spec; + @JsonProperty("status") + private GRPCRouteStatus status; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public GRPCRoute() { + } + + public GRPCRoute(String apiVersion, String kind, ObjectMeta metadata, GRPCRouteSpec spec, GRPCRouteStatus status) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + this.status = status; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public GRPCRouteSpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(GRPCRouteSpec spec) { + this.spec = spec; + } + + @JsonProperty("status") + public GRPCRouteStatus getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(GRPCRouteStatus status) { + this.status = status; + } + + @JsonIgnore + public GRPCRouteBuilder edit() { + return new GRPCRouteBuilder(this); + } + + @JsonIgnore + public GRPCRouteBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/GRPCRouteList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/GRPCRouteList.java new file mode 100644 index 0000000000..2087ea8b2e --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/GRPCRouteList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class GRPCRouteList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "GRPCRouteList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public GRPCRouteList() { + } + + public GRPCRouteList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public GRPCRouteListBuilder edit() { + return new GRPCRouteListBuilder(this); + } + + @JsonIgnore + public GRPCRouteListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/LocalPolicyTargetReference.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/LocalPolicyTargetReference.java new file mode 100644 index 0000000000..2f33b46c73 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/LocalPolicyTargetReference.java @@ -0,0 +1,144 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "kind", + "group", + "name" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class LocalPolicyTargetReference implements Editable, KubernetesResource +{ + + @JsonProperty("group") + private String group; + @JsonProperty("kind") + private String kind; + @JsonProperty("name") + private String name; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public LocalPolicyTargetReference() { + } + + public LocalPolicyTargetReference(String group, String kind, String name) { + super(); + this.group = group; + this.kind = kind; + this.name = name; + } + + @JsonProperty("group") + public String getGroup() { + return group; + } + + @JsonProperty("group") + public void setGroup(String group) { + this.group = group; + } + + @JsonProperty("kind") + public String getKind() { + return kind; + } + + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + @JsonIgnore + public LocalPolicyTargetReferenceBuilder edit() { + return new LocalPolicyTargetReferenceBuilder(this); + } + + @JsonIgnore + public LocalPolicyTargetReferenceBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/LocalPolicyTargetReferenceWithSectionName.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/LocalPolicyTargetReferenceWithSectionName.java new file mode 100644 index 0000000000..74bdc76123 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/LocalPolicyTargetReferenceWithSectionName.java @@ -0,0 +1,158 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "kind", + "group", + "name", + "sectionName" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class LocalPolicyTargetReferenceWithSectionName implements Editable, KubernetesResource +{ + + @JsonProperty("group") + private String group; + @JsonProperty("kind") + private String kind; + @JsonProperty("name") + private String name; + @JsonProperty("sectionName") + private String sectionName; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public LocalPolicyTargetReferenceWithSectionName() { + } + + public LocalPolicyTargetReferenceWithSectionName(String group, String kind, String name, String sectionName) { + super(); + this.group = group; + this.kind = kind; + this.name = name; + this.sectionName = sectionName; + } + + @JsonProperty("group") + public String getGroup() { + return group; + } + + @JsonProperty("group") + public void setGroup(String group) { + this.group = group; + } + + @JsonProperty("kind") + public String getKind() { + return kind; + } + + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + @JsonProperty("sectionName") + public String getSectionName() { + return sectionName; + } + + @JsonProperty("sectionName") + public void setSectionName(String sectionName) { + this.sectionName = sectionName; + } + + @JsonIgnore + public LocalPolicyTargetReferenceWithSectionNameBuilder edit() { + return new LocalPolicyTargetReferenceWithSectionNameBuilder(this); + } + + @JsonIgnore + public LocalPolicyTargetReferenceWithSectionNameBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/NamespacedPolicyTargetReference.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/NamespacedPolicyTargetReference.java new file mode 100644 index 0000000000..7df08b8c92 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/NamespacedPolicyTargetReference.java @@ -0,0 +1,158 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "kind", + "group", + "name", + "namespace" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class NamespacedPolicyTargetReference implements Editable, KubernetesResource +{ + + @JsonProperty("group") + private String group; + @JsonProperty("kind") + private String kind; + @JsonProperty("name") + private String name; + @JsonProperty("namespace") + private String namespace; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public NamespacedPolicyTargetReference() { + } + + public NamespacedPolicyTargetReference(String group, String kind, String name, String namespace) { + super(); + this.group = group; + this.kind = kind; + this.name = name; + this.namespace = namespace; + } + + @JsonProperty("group") + public String getGroup() { + return group; + } + + @JsonProperty("group") + public void setGroup(String group) { + this.group = group; + } + + @JsonProperty("kind") + public String getKind() { + return kind; + } + + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + @JsonProperty("namespace") + public String getNamespace() { + return namespace; + } + + @JsonProperty("namespace") + public void setNamespace(String namespace) { + this.namespace = namespace; + } + + @JsonIgnore + public NamespacedPolicyTargetReferenceBuilder edit() { + return new NamespacedPolicyTargetReferenceBuilder(this); + } + + @JsonIgnore + public NamespacedPolicyTargetReferenceBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/PolicyAncestorStatus.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/PolicyAncestorStatus.java new file mode 100644 index 0000000000..811c3deca6 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/PolicyAncestorStatus.java @@ -0,0 +1,150 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.Condition; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.ParentReference; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "ancestorRef", + "conditions", + "controllerName" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class PolicyAncestorStatus implements Editable, KubernetesResource +{ + + @JsonProperty("ancestorRef") + private ParentReference ancestorRef; + @JsonProperty("conditions") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List conditions = new ArrayList<>(); + @JsonProperty("controllerName") + private String controllerName; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public PolicyAncestorStatus() { + } + + public PolicyAncestorStatus(ParentReference ancestorRef, List conditions, String controllerName) { + super(); + this.ancestorRef = ancestorRef; + this.conditions = conditions; + this.controllerName = controllerName; + } + + @JsonProperty("ancestorRef") + public ParentReference getAncestorRef() { + return ancestorRef; + } + + @JsonProperty("ancestorRef") + public void setAncestorRef(ParentReference ancestorRef) { + this.ancestorRef = ancestorRef; + } + + @JsonProperty("conditions") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getConditions() { + return conditions; + } + + @JsonProperty("conditions") + public void setConditions(List conditions) { + this.conditions = conditions; + } + + @JsonProperty("controllerName") + public String getControllerName() { + return controllerName; + } + + @JsonProperty("controllerName") + public void setControllerName(String controllerName) { + this.controllerName = controllerName; + } + + @JsonIgnore + public PolicyAncestorStatusBuilder edit() { + return new PolicyAncestorStatusBuilder(this); + } + + @JsonIgnore + public PolicyAncestorStatusBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/PolicyStatus.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/PolicyStatus.java new file mode 100644 index 0000000000..5e67c6f143 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/PolicyStatus.java @@ -0,0 +1,120 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "ancestors" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class PolicyStatus implements Editable, KubernetesResource +{ + + @JsonProperty("ancestors") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List ancestors = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public PolicyStatus() { + } + + public PolicyStatus(List ancestors) { + super(); + this.ancestors = ancestors; + } + + @JsonProperty("ancestors") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getAncestors() { + return ancestors; + } + + @JsonProperty("ancestors") + public void setAncestors(List ancestors) { + this.ancestors = ancestors; + } + + @JsonIgnore + public PolicyStatusBuilder edit() { + return new PolicyStatusBuilder(this); + } + + @JsonIgnore + public PolicyStatusBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/ReferenceGrant.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/ReferenceGrant.java new file mode 100644 index 0000000000..94e120a507 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/ReferenceGrant.java @@ -0,0 +1,199 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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.api.model.gatewayapi.v1beta1.ReferenceGrantSpec; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "spec" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class ReferenceGrant implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "ReferenceGrant"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private ReferenceGrantSpec spec; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public ReferenceGrant() { + } + + public ReferenceGrant(String apiVersion, String kind, ObjectMeta metadata, ReferenceGrantSpec spec) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public ReferenceGrantSpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(ReferenceGrantSpec spec) { + this.spec = spec; + } + + @JsonIgnore + public ReferenceGrantBuilder edit() { + return new ReferenceGrantBuilder(this); + } + + @JsonIgnore + public ReferenceGrantBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/ReferenceGrantList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/ReferenceGrantList.java new file mode 100644 index 0000000000..a19d823944 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/ReferenceGrantList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class ReferenceGrantList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "ReferenceGrantList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public ReferenceGrantList() { + } + + public ReferenceGrantList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public ReferenceGrantListBuilder edit() { + return new ReferenceGrantListBuilder(this); + } + + @JsonIgnore + public ReferenceGrantListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRoute.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRoute.java new file mode 100644 index 0000000000..1ad9580840 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRoute.java @@ -0,0 +1,212 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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; + +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TCPRoute implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "TCPRoute"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private TCPRouteSpec spec; + @JsonProperty("status") + private TCPRouteStatus status; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TCPRoute() { + } + + public TCPRoute(String apiVersion, String kind, ObjectMeta metadata, TCPRouteSpec spec, TCPRouteStatus status) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + this.status = status; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public TCPRouteSpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(TCPRouteSpec spec) { + this.spec = spec; + } + + @JsonProperty("status") + public TCPRouteStatus getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(TCPRouteStatus status) { + this.status = status; + } + + @JsonIgnore + public TCPRouteBuilder edit() { + return new TCPRouteBuilder(this); + } + + @JsonIgnore + public TCPRouteBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteList.java new file mode 100644 index 0000000000..fa633ccdde --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TCPRouteList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "TCPRouteList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TCPRouteList() { + } + + public TCPRouteList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public TCPRouteListBuilder edit() { + return new TCPRouteListBuilder(this); + } + + @JsonIgnore + public TCPRouteListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteRule.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteRule.java new file mode 100644 index 0000000000..c83a6b300a --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteRule.java @@ -0,0 +1,135 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.BackendRef; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "backendRefs", + "name" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TCPRouteRule implements Editable, KubernetesResource +{ + + @JsonProperty("backendRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List backendRefs = new ArrayList<>(); + @JsonProperty("name") + private String name; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TCPRouteRule() { + } + + public TCPRouteRule(List backendRefs, String name) { + super(); + this.backendRefs = backendRefs; + this.name = name; + } + + @JsonProperty("backendRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getBackendRefs() { + return backendRefs; + } + + @JsonProperty("backendRefs") + public void setBackendRefs(List backendRefs) { + this.backendRefs = backendRefs; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + @JsonIgnore + public TCPRouteRuleBuilder edit() { + return new TCPRouteRuleBuilder(this); + } + + @JsonIgnore + public TCPRouteRuleBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteSpec.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteSpec.java new file mode 100644 index 0000000000..e9813f412b --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteSpec.java @@ -0,0 +1,137 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.ParentReference; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "parentRefs", + "rules" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TCPRouteSpec implements Editable, KubernetesResource +{ + + @JsonProperty("parentRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List parentRefs = new ArrayList<>(); + @JsonProperty("rules") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List rules = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TCPRouteSpec() { + } + + public TCPRouteSpec(List parentRefs, List rules) { + super(); + this.parentRefs = parentRefs; + this.rules = rules; + } + + @JsonProperty("parentRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getParentRefs() { + return parentRefs; + } + + @JsonProperty("parentRefs") + public void setParentRefs(List parentRefs) { + this.parentRefs = parentRefs; + } + + @JsonProperty("rules") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getRules() { + return rules; + } + + @JsonProperty("rules") + public void setRules(List rules) { + this.rules = rules; + } + + @JsonIgnore + public TCPRouteSpecBuilder edit() { + return new TCPRouteSpecBuilder(this); + } + + @JsonIgnore + public TCPRouteSpecBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteStatus.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteStatus.java new file mode 100644 index 0000000000..09347ffd7e --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TCPRouteStatus.java @@ -0,0 +1,121 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.RouteParentStatus; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "parents" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TCPRouteStatus implements Editable, KubernetesResource +{ + + @JsonProperty("parents") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List parents = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TCPRouteStatus() { + } + + public TCPRouteStatus(List parents) { + super(); + this.parents = parents; + } + + @JsonProperty("parents") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getParents() { + return parents; + } + + @JsonProperty("parents") + public void setParents(List parents) { + this.parents = parents; + } + + @JsonIgnore + public TCPRouteStatusBuilder edit() { + return new TCPRouteStatusBuilder(this); + } + + @JsonIgnore + public TCPRouteStatusBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRoute.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRoute.java new file mode 100644 index 0000000000..020bb677cb --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRoute.java @@ -0,0 +1,212 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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; + +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TLSRoute implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "TLSRoute"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private TLSRouteSpec spec; + @JsonProperty("status") + private TLSRouteStatus status; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TLSRoute() { + } + + public TLSRoute(String apiVersion, String kind, ObjectMeta metadata, TLSRouteSpec spec, TLSRouteStatus status) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + this.status = status; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public TLSRouteSpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(TLSRouteSpec spec) { + this.spec = spec; + } + + @JsonProperty("status") + public TLSRouteStatus getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(TLSRouteStatus status) { + this.status = status; + } + + @JsonIgnore + public TLSRouteBuilder edit() { + return new TLSRouteBuilder(this); + } + + @JsonIgnore + public TLSRouteBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteList.java new file mode 100644 index 0000000000..ed1c61b78c --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TLSRouteList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "TLSRouteList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TLSRouteList() { + } + + public TLSRouteList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public TLSRouteListBuilder edit() { + return new TLSRouteListBuilder(this); + } + + @JsonIgnore + public TLSRouteListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteRule.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteRule.java new file mode 100644 index 0000000000..c28f6d85f3 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteRule.java @@ -0,0 +1,135 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.BackendRef; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "backendRefs", + "name" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TLSRouteRule implements Editable, KubernetesResource +{ + + @JsonProperty("backendRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List backendRefs = new ArrayList<>(); + @JsonProperty("name") + private String name; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TLSRouteRule() { + } + + public TLSRouteRule(List backendRefs, String name) { + super(); + this.backendRefs = backendRefs; + this.name = name; + } + + @JsonProperty("backendRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getBackendRefs() { + return backendRefs; + } + + @JsonProperty("backendRefs") + public void setBackendRefs(List backendRefs) { + this.backendRefs = backendRefs; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + @JsonIgnore + public TLSRouteRuleBuilder edit() { + return new TLSRouteRuleBuilder(this); + } + + @JsonIgnore + public TLSRouteRuleBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteSpec.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteSpec.java new file mode 100644 index 0000000000..7fc802185c --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteSpec.java @@ -0,0 +1,153 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.ParentReference; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "hostnames", + "parentRefs", + "rules" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TLSRouteSpec implements Editable, KubernetesResource +{ + + @JsonProperty("hostnames") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List hostnames = new ArrayList<>(); + @JsonProperty("parentRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List parentRefs = new ArrayList<>(); + @JsonProperty("rules") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List rules = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TLSRouteSpec() { + } + + public TLSRouteSpec(List hostnames, List parentRefs, List rules) { + super(); + this.hostnames = hostnames; + this.parentRefs = parentRefs; + this.rules = rules; + } + + @JsonProperty("hostnames") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getHostnames() { + return hostnames; + } + + @JsonProperty("hostnames") + public void setHostnames(List hostnames) { + this.hostnames = hostnames; + } + + @JsonProperty("parentRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getParentRefs() { + return parentRefs; + } + + @JsonProperty("parentRefs") + public void setParentRefs(List parentRefs) { + this.parentRefs = parentRefs; + } + + @JsonProperty("rules") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getRules() { + return rules; + } + + @JsonProperty("rules") + public void setRules(List rules) { + this.rules = rules; + } + + @JsonIgnore + public TLSRouteSpecBuilder edit() { + return new TLSRouteSpecBuilder(this); + } + + @JsonIgnore + public TLSRouteSpecBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteStatus.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteStatus.java new file mode 100644 index 0000000000..3849118d0a --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/TLSRouteStatus.java @@ -0,0 +1,121 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.RouteParentStatus; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "parents" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class TLSRouteStatus implements Editable, KubernetesResource +{ + + @JsonProperty("parents") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List parents = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public TLSRouteStatus() { + } + + public TLSRouteStatus(List parents) { + super(); + this.parents = parents; + } + + @JsonProperty("parents") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getParents() { + return parents; + } + + @JsonProperty("parents") + public void setParents(List parents) { + this.parents = parents; + } + + @JsonIgnore + public TLSRouteStatusBuilder edit() { + return new TLSRouteStatusBuilder(this); + } + + @JsonIgnore + public TLSRouteStatusBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRoute.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRoute.java new file mode 100644 index 0000000000..a27a940bea --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRoute.java @@ -0,0 +1,212 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +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; + +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class UDPRoute implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "UDPRoute"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private UDPRouteSpec spec; + @JsonProperty("status") + private UDPRouteStatus status; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public UDPRoute() { + } + + public UDPRoute(String apiVersion, String kind, ObjectMeta metadata, UDPRouteSpec spec, UDPRouteStatus status) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + this.status = status; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public UDPRouteSpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(UDPRouteSpec spec) { + this.spec = spec; + } + + @JsonProperty("status") + public UDPRouteStatus getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(UDPRouteStatus status) { + this.status = status; + } + + @JsonIgnore + public UDPRouteBuilder edit() { + return new UDPRouteBuilder(this); + } + + @JsonIgnore + public UDPRouteBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteList.java new file mode 100644 index 0000000000..bf201b3866 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha2") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class UDPRouteList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha2"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "UDPRouteList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public UDPRouteList() { + } + + public UDPRouteList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public UDPRouteListBuilder edit() { + return new UDPRouteListBuilder(this); + } + + @JsonIgnore + public UDPRouteListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteRule.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteRule.java new file mode 100644 index 0000000000..15f33f097f --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteRule.java @@ -0,0 +1,135 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.BackendRef; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "backendRefs", + "name" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class UDPRouteRule implements Editable, KubernetesResource +{ + + @JsonProperty("backendRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List backendRefs = new ArrayList<>(); + @JsonProperty("name") + private String name; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public UDPRouteRule() { + } + + public UDPRouteRule(List backendRefs, String name) { + super(); + this.backendRefs = backendRefs; + this.name = name; + } + + @JsonProperty("backendRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getBackendRefs() { + return backendRefs; + } + + @JsonProperty("backendRefs") + public void setBackendRefs(List backendRefs) { + this.backendRefs = backendRefs; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + @JsonIgnore + public UDPRouteRuleBuilder edit() { + return new UDPRouteRuleBuilder(this); + } + + @JsonIgnore + public UDPRouteRuleBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteSpec.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteSpec.java new file mode 100644 index 0000000000..a4e2a3ec77 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteSpec.java @@ -0,0 +1,137 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.ParentReference; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "parentRefs", + "rules" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class UDPRouteSpec implements Editable, KubernetesResource +{ + + @JsonProperty("parentRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List parentRefs = new ArrayList<>(); + @JsonProperty("rules") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List rules = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public UDPRouteSpec() { + } + + public UDPRouteSpec(List parentRefs, List rules) { + super(); + this.parentRefs = parentRefs; + this.rules = rules; + } + + @JsonProperty("parentRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getParentRefs() { + return parentRefs; + } + + @JsonProperty("parentRefs") + public void setParentRefs(List parentRefs) { + this.parentRefs = parentRefs; + } + + @JsonProperty("rules") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getRules() { + return rules; + } + + @JsonProperty("rules") + public void setRules(List rules) { + this.rules = rules; + } + + @JsonIgnore + public UDPRouteSpecBuilder edit() { + return new UDPRouteSpecBuilder(this); + } + + @JsonIgnore + public UDPRouteSpecBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteStatus.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteStatus.java new file mode 100644 index 0000000000..f8eda0ce44 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha2/UDPRouteStatus.java @@ -0,0 +1,121 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha2; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1.RouteParentStatus; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "parents" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class UDPRouteStatus implements Editable, KubernetesResource +{ + + @JsonProperty("parents") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List parents = new ArrayList<>(); + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public UDPRouteStatus() { + } + + public UDPRouteStatus(List parents) { + super(); + this.parents = parents; + } + + @JsonProperty("parents") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getParents() { + return parents; + } + + @JsonProperty("parents") + public void setParents(List parents) { + this.parents = parents; + } + + @JsonIgnore + public UDPRouteStatusBuilder edit() { + return new UDPRouteStatusBuilder(this); + } + + @JsonIgnore + public UDPRouteStatusBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicy.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicy.java new file mode 100644 index 0000000000..f34d25d044 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicy.java @@ -0,0 +1,213 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha3; + +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.api.model.gatewayapi.v1alpha2.PolicyStatus; +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; + +@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("v1alpha3") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendTLSPolicy implements Editable, HasMetadata, Namespaced +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha3"; + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "BackendTLSPolicy"; + @JsonProperty("metadata") + private ObjectMeta metadata; + @JsonProperty("spec") + private BackendTLSPolicySpec spec; + @JsonProperty("status") + private PolicyStatus status; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendTLSPolicy() { + } + + public BackendTLSPolicy(String apiVersion, String kind, ObjectMeta metadata, BackendTLSPolicySpec spec, PolicyStatus status) { + super(); + this.apiVersion = apiVersion; + this.kind = kind; + this.metadata = metadata; + this.spec = spec; + this.status = status; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ObjectMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ObjectMeta metadata) { + this.metadata = metadata; + } + + @JsonProperty("spec") + public BackendTLSPolicySpec getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(BackendTLSPolicySpec spec) { + this.spec = spec; + } + + @JsonProperty("status") + public PolicyStatus getStatus() { + return status; + } + + @JsonProperty("status") + public void setStatus(PolicyStatus status) { + this.status = status; + } + + @JsonIgnore + public BackendTLSPolicyBuilder edit() { + return new BackendTLSPolicyBuilder(this); + } + + @JsonIgnore + public BackendTLSPolicyBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicyList.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicyList.java new file mode 100644 index 0000000000..fa96e5e4dd --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicyList.java @@ -0,0 +1,203 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha3; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.ListMeta; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "apiVersion", + "kind", + "metadata", + "items" +}) +@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("v1alpha3") +@Group("gateway.networking.k8s.io") +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendTLSPolicyList implements Editable, KubernetesResource, KubernetesResourceList +{ + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + private String apiVersion = "gateway.networking.k8s.io/v1alpha3"; + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List items = new ArrayList<>(); + /** + * + * (Required) + * + */ + @JsonProperty("kind") + private String kind = "BackendTLSPolicyList"; + @JsonProperty("metadata") + private ListMeta metadata; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendTLSPolicyList() { + } + + public BackendTLSPolicyList(String apiVersion, List items, String kind, ListMeta metadata) { + super(); + this.apiVersion = apiVersion; + this.items = items; + this.kind = kind; + this.metadata = metadata; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public String getApiVersion() { + return apiVersion; + } + + /** + * + * (Required) + * + */ + @JsonProperty("apiVersion") + public void setApiVersion(String apiVersion) { + this.apiVersion = apiVersion; + } + + @JsonProperty("items") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getItems() { + return items; + } + + @JsonProperty("items") + public void setItems(List items) { + this.items = items; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public String getKind() { + return kind; + } + + /** + * + * (Required) + * + */ + @JsonProperty("kind") + public void setKind(String kind) { + this.kind = kind; + } + + @JsonProperty("metadata") + public ListMeta getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(ListMeta metadata) { + this.metadata = metadata; + } + + @JsonIgnore + public BackendTLSPolicyListBuilder edit() { + return new BackendTLSPolicyListBuilder(this); + } + + @JsonIgnore + public BackendTLSPolicyListBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicySpec.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicySpec.java new file mode 100644 index 0000000000..a218e80d4a --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicySpec.java @@ -0,0 +1,151 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha3; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.api.model.gatewayapi.v1alpha2.LocalPolicyTargetReferenceWithSectionName; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "options", + "targetRefs", + "validation" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendTLSPolicySpec implements Editable, KubernetesResource +{ + + @JsonProperty("options") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private Map options = new LinkedHashMap<>(); + @JsonProperty("targetRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List targetRefs = new ArrayList<>(); + @JsonProperty("validation") + private BackendTLSPolicyValidation validation; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendTLSPolicySpec() { + } + + public BackendTLSPolicySpec(Map options, List targetRefs, BackendTLSPolicyValidation validation) { + super(); + this.options = options; + this.targetRefs = targetRefs; + this.validation = validation; + } + + @JsonProperty("options") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public Map getOptions() { + return options; + } + + @JsonProperty("options") + public void setOptions(Map options) { + this.options = options; + } + + @JsonProperty("targetRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getTargetRefs() { + return targetRefs; + } + + @JsonProperty("targetRefs") + public void setTargetRefs(List targetRefs) { + this.targetRefs = targetRefs; + } + + @JsonProperty("validation") + public BackendTLSPolicyValidation getValidation() { + return validation; + } + + @JsonProperty("validation") + public void setValidation(BackendTLSPolicyValidation validation) { + this.validation = validation; + } + + @JsonIgnore + public BackendTLSPolicySpecBuilder edit() { + return new BackendTLSPolicySpecBuilder(this); + } + + @JsonIgnore + public BackendTLSPolicySpecBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicyValidation.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicyValidation.java new file mode 100644 index 0000000000..e045e49528 --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/BackendTLSPolicyValidation.java @@ -0,0 +1,164 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha3; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +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.api.model.gatewayapi.v1.LocalObjectReference; +import io.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "caCertificateRefs", + "hostname", + "subjectAltNames", + "wellKnownCACertificates" +}) +@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(io.fabric8.kubernetes.api.model.LocalObjectReference.class), + @BuildableReference(PersistentVolumeClaim.class), + @BuildableReference(EnvVar.class), + @BuildableReference(ContainerPort.class), + @BuildableReference(Volume.class), + @BuildableReference(VolumeMount.class) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class BackendTLSPolicyValidation implements Editable, KubernetesResource +{ + + @JsonProperty("caCertificateRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List caCertificateRefs = new ArrayList<>(); + @JsonProperty("hostname") + private String hostname; + @JsonProperty("subjectAltNames") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List subjectAltNames = new ArrayList<>(); + @JsonProperty("wellKnownCACertificates") + private String wellKnownCACertificates; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public BackendTLSPolicyValidation() { + } + + public BackendTLSPolicyValidation(List caCertificateRefs, String hostname, List subjectAltNames, String wellKnownCACertificates) { + super(); + this.caCertificateRefs = caCertificateRefs; + this.hostname = hostname; + this.subjectAltNames = subjectAltNames; + this.wellKnownCACertificates = wellKnownCACertificates; + } + + @JsonProperty("caCertificateRefs") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getCaCertificateRefs() { + return caCertificateRefs; + } + + @JsonProperty("caCertificateRefs") + public void setCaCertificateRefs(List caCertificateRefs) { + this.caCertificateRefs = caCertificateRefs; + } + + @JsonProperty("hostname") + public String getHostname() { + return hostname; + } + + @JsonProperty("hostname") + public void setHostname(String hostname) { + this.hostname = hostname; + } + + @JsonProperty("subjectAltNames") + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List getSubjectAltNames() { + return subjectAltNames; + } + + @JsonProperty("subjectAltNames") + public void setSubjectAltNames(List subjectAltNames) { + this.subjectAltNames = subjectAltNames; + } + + @JsonProperty("wellKnownCACertificates") + public String getWellKnownCACertificates() { + return wellKnownCACertificates; + } + + @JsonProperty("wellKnownCACertificates") + public void setWellKnownCACertificates(String wellKnownCACertificates) { + this.wellKnownCACertificates = wellKnownCACertificates; + } + + @JsonIgnore + public BackendTLSPolicyValidationBuilder edit() { + return new BackendTLSPolicyValidationBuilder(this); + } + + @JsonIgnore + public BackendTLSPolicyValidationBuilder 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; + } + +} diff --git a/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/SubjectAltName.java b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/SubjectAltName.java new file mode 100644 index 0000000000..c9aa46875e --- /dev/null +++ b/kubernetes-model-generator/kubernetes-model-gatewayapi/src/generated/java/io/fabric8/kubernetes/api/model/gatewayapi/v1alpha3/SubjectAltName.java @@ -0,0 +1,144 @@ + +package io.fabric8.kubernetes.api.model.gatewayapi.v1alpha3; + +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.IntOrString; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.LabelSelector; +import io.fabric8.kubernetes.api.model.LocalObjectReference; +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.sundr.builder.annotations.Buildable; +import io.sundr.builder.annotations.BuildableReference; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; + +@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "hostname", + "type", + "uri" +}) +@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) +}) +@Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator") +public class SubjectAltName implements Editable, KubernetesResource +{ + + @JsonProperty("hostname") + private String hostname; + @JsonProperty("type") + private String type; + @JsonProperty("uri") + private String uri; + @JsonIgnore + private Map additionalProperties = new LinkedHashMap(); + + /** + * No args constructor for use in serialization + * + */ + public SubjectAltName() { + } + + public SubjectAltName(String hostname, String type, String uri) { + super(); + this.hostname = hostname; + this.type = type; + this.uri = uri; + } + + @JsonProperty("hostname") + public String getHostname() { + return hostname; + } + + @JsonProperty("hostname") + public void setHostname(String hostname) { + this.hostname = hostname; + } + + @JsonProperty("type") + public String getType() { + return type; + } + + @JsonProperty("type") + public void setType(String type) { + this.type = type; + } + + @JsonProperty("uri") + public String getUri() { + return uri; + } + + @JsonProperty("uri") + public void setUri(String uri) { + this.uri = uri; + } + + @JsonIgnore + public SubjectAltNameBuilder edit() { + return new SubjectAltNameBuilder(this); + } + + @JsonIgnore + public SubjectAltNameBuilder 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; + } + +} diff --git a/kubernetes-model-generator/openapi/generator/pkg/packages/packages.go b/kubernetes-model-generator/openapi/generator/pkg/packages/packages.go index 382a07e10a..7b2e20ea80 100644 --- a/kubernetes-model-generator/openapi/generator/pkg/packages/packages.go +++ b/kubernetes-model-generator/openapi/generator/pkg/packages/packages.go @@ -70,6 +70,8 @@ var ChaosMeshPackagePatterns = []string{ var GatewayApiPackagePatterns = []string{ "sigs.k8s.io/gateway-api/apis/v1", + "sigs.k8s.io/gateway-api/apis/v1alpha2", + "sigs.k8s.io/gateway-api/apis/v1alpha3", "sigs.k8s.io/gateway-api/apis/v1beta1", } diff --git a/kubernetes-model-generator/openapi/schemas/gateway-api.json b/kubernetes-model-generator/openapi/schemas/gateway-api.json index 3e75d243d4..1e59a3c2e5 100644 --- a/kubernetes-model-generator/openapi/schemas/gateway-api.json +++ b/kubernetes-model-generator/openapi/schemas/gateway-api.json @@ -2110,6 +2110,1067 @@ "Scope": "Namespaced" } }, + "io.k8s.networking.gateway.v1alpha2.BackendLBPolicy": { + "description": "BackendLBPolicy provides a way to define load balancing rules for a backend.", + "type": "object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of BackendLBPolicy.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.BackendLBPolicySpec" + }, + "status": { + "description": "Status defines the current state of BackendLBPolicy.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.PolicyStatus" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "BackendLBPolicy", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.BackendLBPolicyList": { + "description": "BackendLBPolicyList contains a list of BackendLBPolicies", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.BackendLBPolicy" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "BackendLBPolicyList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.BackendLBPolicySpec": { + "description": "BackendLBPolicySpec defines the desired state of BackendLBPolicy. Note: there is no Override or Default policy configuration.", + "type": "object", + "required": [ + "targetRefs" + ], + "properties": { + "sessionPersistence": { + "description": "SessionPersistence defines and configures session persistence for the backend.\n\nSupport: Extended", + "$ref": "#/definitions/io.k8s.networking.gateway.v1.SessionPersistence" + }, + "targetRefs": { + "description": "TargetRef identifies an API object to apply policy to. Currently, Backends (i.e. Service, ServiceImport, or any implementation-specific backendRef) are the only valid API target references.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.LocalPolicyTargetReference" + }, + "x-kubernetes-list-map-keys": [ + "group", + "kind", + "name" + ], + "x-kubernetes-list-type": "map" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "BackendLBPolicySpec", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.GRPCRoute": { + "type": "object", + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of GRPCRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRouteSpec" + }, + "status": { + "description": "Status defines the current state of GRPCRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.GRPCRouteStatus" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "GRPCRoute", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.GRPCRouteList": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.GRPCRoute" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "GRPCRouteList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.LocalPolicyTargetReference": { + "description": "LocalPolicyTargetReference identifies an API object to apply a direct or inherited policy to. This should be used as part of Policy resources that can target Gateway API resources. For more information on how this policy attachment model works, and a sample Policy resource, refer to the policy attachment documentation for Gateway API.", + "type": "object", + "required": [ + "group", + "kind", + "name" + ], + "properties": { + "group": { + "description": "Group is the group of the target resource.", + "type": "string", + "default": "" + }, + "kind": { + "description": "Kind is kind of the target resource.", + "type": "string", + "default": "" + }, + "name": { + "description": "Name is the name of the target resource.", + "type": "string", + "default": "" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "LocalPolicyTargetReference", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.LocalPolicyTargetReferenceWithSectionName": { + "description": "LocalPolicyTargetReferenceWithSectionName identifies an API object to apply a direct policy to. This should be used as part of Policy resources that can target single resources. For more information on how this policy attachment mode works, and a sample Policy resource, refer to the policy attachment documentation for Gateway API.\n\nNote: This should only be used for direct policy attachment when references to SectionName are actually needed. In all other cases, LocalPolicyTargetReference should be used.", + "type": "object", + "required": [ + "group", + "kind", + "name" + ], + "properties": { + "group": { + "description": "Group is the group of the target resource.", + "type": "string", + "default": "" + }, + "kind": { + "description": "Kind is kind of the target resource.", + "type": "string", + "default": "" + }, + "name": { + "description": "Name is the name of the target resource.", + "type": "string", + "default": "" + }, + "sectionName": { + "description": "SectionName is the name of a section within the target resource. When unspecified, this targetRef targets the entire resource. In the following resources, SectionName is interpreted as the following:\n\n* Gateway: Listener name * HTTPRoute: HTTPRouteRule name * Service: Port name\n\nIf a SectionName is specified, but does not exist on the targeted object, the Policy must fail to attach, and the policy implementation should record a `ResolvedRefs` or similar Condition in the Policy's status.", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "LocalPolicyTargetReferenceWithSectionName", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.NamespacedPolicyTargetReference": { + "description": "NamespacedPolicyTargetReference identifies an API object to apply a direct or inherited policy to, potentially in a different namespace. This should only be used as part of Policy resources that need to be able to target resources in different namespaces. For more information on how this policy attachment model works, and a sample Policy resource, refer to the policy attachment documentation for Gateway API.", + "type": "object", + "required": [ + "group", + "kind", + "name" + ], + "properties": { + "group": { + "description": "Group is the group of the target resource.", + "type": "string", + "default": "" + }, + "kind": { + "description": "Kind is kind of the target resource.", + "type": "string", + "default": "" + }, + "name": { + "description": "Name is the name of the target resource.", + "type": "string", + "default": "" + }, + "namespace": { + "description": "Namespace is the namespace of the referent. When unspecified, the local namespace is inferred. Even when policy targets a resource in a different namespace, it MUST only apply to traffic originating from the same namespace as the policy.", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "NamespacedPolicyTargetReference", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.PolicyAncestorStatus": { + "description": "PolicyAncestorStatus describes the status of a route with respect to an associated Ancestor.\n\nAncestors refer to objects that are either the Target of a policy or above it in terms of object hierarchy. For example, if a policy targets a Service, the Policy's Ancestors are, in order, the Service, the HTTPRoute, the Gateway, and the GatewayClass. Almost always, in this hierarchy, the Gateway will be the most useful object to place Policy status on, so we recommend that implementations SHOULD use Gateway as the PolicyAncestorStatus object unless the designers have a _very_ good reason otherwise.\n\nIn the context of policy attachment, the Ancestor is used to distinguish which resource results in a distinct application of this policy. For example, if a policy targets a Service, it may have a distinct result per attached Gateway.\n\nPolicies targeting the same resource may have different effects depending on the ancestors of those resources. For example, different Gateways targeting the same Service may have different capabilities, especially if they have different underlying implementations.\n\nFor example, in BackendTLSPolicy, the Policy attaches to a Service that is used as a backend in a HTTPRoute that is itself attached to a Gateway. In this case, the relevant object for status is the Gateway, and that is the ancestor object referred to in this status.\n\nNote that a parent is also an ancestor, so for objects where the parent is the relevant object for status, this struct SHOULD still be used.\n\nThis struct is intended to be used in a slice that's effectively a map, with a composite key made up of the AncestorRef and the ControllerName.", + "type": "object", + "required": [ + "ancestorRef", + "controllerName" + ], + "properties": { + "ancestorRef": { + "description": "AncestorRef corresponds with a ParentRef in the spec that this PolicyAncestorStatus struct describes the status of.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.ParentReference" + }, + "conditions": { + "description": "Conditions describes the status of the Policy with respect to the given Ancestor.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "controllerName": { + "description": "ControllerName is a domain/path string that indicates the name of the controller that wrote this status. This corresponds with the controllerName field on GatewayClass.\n\nExample: \"example.net/gateway-controller\".\n\nThe format of this field is DOMAIN \"/\" PATH, where DOMAIN and PATH are valid Kubernetes names (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).\n\nControllers MUST populate this field when writing status. Controllers should ensure that entries to status populated with their ControllerName are cleaned up when they are no longer necessary.", + "type": "string", + "default": "" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "PolicyAncestorStatus", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.PolicyStatus": { + "description": "PolicyStatus defines the common attributes that all Policies should include within their status.", + "type": "object", + "required": [ + "ancestors" + ], + "properties": { + "ancestors": { + "description": "Ancestors is a list of ancestor resources (usually Gateways) that are associated with the policy, and the status of the policy with respect to each ancestor. When this policy attaches to a parent, the controller that manages the parent and the ancestors MUST add an entry to this list when the controller first sees the policy and SHOULD update the entry as appropriate when the relevant ancestor is modified.\n\nNote that choosing the relevant ancestor is left to the Policy designers; an important part of Policy design is designing the right object level at which to namespace this status.\n\nNote also that implementations MUST ONLY populate ancestor status for the Ancestor resources they are responsible for. Implementations MUST use the ControllerName field to uniquely identify the entries in this list that they are responsible for.\n\nNote that to achieve this, the list of PolicyAncestorStatus structs MUST be treated as a map with a composite key, made up of the AncestorRef and ControllerName fields combined.\n\nA maximum of 16 ancestors will be represented in this list. An empty list means the Policy is not relevant for any ancestors.\n\nIf this slice is full, implementations MUST NOT add further entries. Instead they MUST consider the policy unimplementable and signal that on any related resources such as the ancestor that would be referenced here. For example, if this list was full on BackendTLSPolicy, no additional Gateways would be able to reference the Service targeted by the BackendTLSPolicy.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.PolicyAncestorStatus" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "PolicyStatus", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.ReferenceGrant": { + "description": "ReferenceGrant identifies kinds of resources in other namespaces that are trusted to reference the specified kinds of resources in the same namespace as the policy.\n\nEach ReferenceGrant can be used to represent a unique trust relationship. Additional Reference Grants can be used to add to the set of trusted sources of inbound references for the namespace they are defined within.\n\nA ReferenceGrant is required for all cross-namespace references in Gateway API (with the exception of cross-namespace Route-Gateway attachment, which is governed by the AllowedRoutes configuration on the Gateway, and cross-namespace Service ParentRefs on a \"consumer\" mesh Route, which defines routing rules applicable only to workloads in the Route namespace). ReferenceGrants allowing a reference from a Route to a Service are only applicable to BackendRefs.\n\nReferenceGrant is a form of runtime verification allowing users to assert which cross-namespace object references are permitted. Implementations that support ReferenceGrant MUST NOT permit cross-namespace references which have no grant, and MUST respond to the removal of a grant by revoking the access that the grant allowed.", + "type": "object", + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of ReferenceGrant.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1beta1.ReferenceGrantSpec" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "ReferenceGrant", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.ReferenceGrantList": { + "description": "ReferenceGrantList contains a list of ReferenceGrant.", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.ReferenceGrant" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "ReferenceGrantList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TCPRoute": { + "description": "TCPRoute provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute.", + "type": "object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of TCPRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TCPRouteSpec" + }, + "status": { + "description": "Status defines the current state of TCPRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TCPRouteStatus" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TCPRoute", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TCPRouteList": { + "description": "TCPRouteList contains a list of TCPRoute", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TCPRoute" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TCPRouteList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TCPRouteRule": { + "description": "TCPRouteRule is the configuration for a given rule.", + "type": "object", + "properties": { + "backendRefs": { + "description": "BackendRefs defines the backend(s) where matching requests should be sent. If unspecified or invalid (refers to a non-existent resource or a Service with no endpoints), the underlying implementation MUST actively reject connection attempts to this backend. Connection rejections must respect weight; if an invalid backend is requested to have 80% of connections, then 80% of connections must be rejected instead.\n\nSupport: Core for Kubernetes Service\n\nSupport: Extended for Kubernetes ServiceImport\n\nSupport: Implementation-specific for any other resource\n\nSupport for weight: Extended", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.BackendRef" + } + }, + "name": { + "description": "Name is the name of the route rule. This name MUST be unique within a Route if it is set.\n\nSupport: Extended", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TCPRouteRule", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TCPRouteSpec": { + "description": "TCPRouteSpec defines the desired state of TCPRoute", + "type": "object", + "required": [ + "rules" + ], + "properties": { + "parentRefs": { + "description": "ParentRefs references the resources (usually Gateways) that a Route wants to be attached to. Note that the referenced parent resource needs to allow this for the attachment to be complete. For Gateways, that means the Gateway needs to allow attachment from Routes of this kind and namespace. For Services, that means the Service must either be in the same namespace for a \"producer\" route, or the mesh implementation must support and allow \"consumer\" routes for the referenced Service. ReferenceGrant is not applicable for governing ParentRefs to Services - it is not possible to create a \"producer\" route for a Service in a different namespace from the Route.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile) * Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent resources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may be collapsed by an implementation. For example, some implementations may choose to merge compatible Gateway Listeners together. If that is the case, the list of routes attached to those resources should also be merged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific rules. Cross-namespace references are only valid if they are explicitly allowed by something in the namespace they are referring to. For example, Gateway has the AllowedRoutes field, and ReferenceGrant provides a generic way to enable other kinds of cross-namespace reference.\n\n\u003cgateway:experimental:description\u003e ParentRefs from a Route to a Service in the same namespace are \"producer\" routes, which apply default routing rules to inbound connections from any namespace to the Service.\n\nParentRefs from a Route to a Service in a different namespace are \"consumer\" routes, and these routing rules are only applied to outbound connections originating from the same namespace as the Route, for which the intended destination of the connections are a Service targeted as a ParentRef of the Route. \u003c/gateway:experimental:description\u003e\n\n\u003cgateway:standard:validation:XValidation:message=\"sectionName must be specified when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '')) : true))\"\u003e \u003cgateway:standard:validation:XValidation:message=\"sectionName must be unique when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || (has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName))))\"\u003e \u003cgateway:experimental:validation:XValidation:message=\"sectionName or port must be specified when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__)) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '') \u0026\u0026 (!has(p1.port) || p1.port == 0) == (!has(p2.port) || p2.port == 0)): true))\"\u003e \u003cgateway:experimental:validation:XValidation:message=\"sectionName or port must be unique when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || ( has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName)) \u0026\u0026 (((!has(p1.port) || p1.port == 0) \u0026\u0026 (!has(p2.port) || p2.port == 0)) || (has(p1.port) \u0026\u0026 has(p2.port) \u0026\u0026 p1.port == p2.port))))\"\u003e", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.ParentReference" + } + }, + "rules": { + "description": "Rules are a list of TCP matchers and actions.\n\n\u003cgateway:experimental:validation:XValidation:message=\"Rule name must be unique within the route\",rule=\"self.all(l1, !has(l1.name) || self.exists_one(l2, has(l2.name) \u0026\u0026 l1.name == l2.name))\"\u003e", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TCPRouteRule" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TCPRouteSpec", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TCPRouteStatus": { + "description": "TCPRouteStatus defines the observed state of TCPRoute", + "type": "object", + "required": [ + "parents" + ], + "properties": { + "parents": { + "description": "Parents is a list of parent resources (usually Gateways) that are associated with the route, and the status of the route with respect to each parent. When this route attaches to a parent, the controller that manages the parent must add an entry to this list when the controller first sees the route and should update the entry as appropriate when the route or gateway is modified.\n\nNote that parent references that cannot be resolved by an implementation of this API will not be added to this list. Implementations of this API can only populate Route status for the Gateways/parent resources they are responsible for.\n\nA maximum of 32 Gateways will be represented in this list. An empty list means the route has not been attached to any Gateway.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.RouteParentStatus" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TCPRouteStatus", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TLSRoute": { + "description": "The TLSRoute resource is similar to TCPRoute, but can be configured to match against TLS-specific metadata. This allows more flexibility in matching streams for a given TLS listener.\n\nIf you need to forward traffic to a single target for a TLS listener, you could choose to use a TCPRoute with a TLS listener.", + "type": "object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of TLSRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TLSRouteSpec" + }, + "status": { + "description": "Status defines the current state of TLSRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TLSRouteStatus" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TLSRoute", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TLSRouteList": { + "description": "TLSRouteList contains a list of TLSRoute", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TLSRoute" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TLSRouteList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TLSRouteRule": { + "description": "TLSRouteRule is the configuration for a given rule.", + "type": "object", + "properties": { + "backendRefs": { + "description": "BackendRefs defines the backend(s) where matching requests should be sent. If unspecified or invalid (refers to a non-existent resource or a Service with no endpoints), the rule performs no forwarding; if no filters are specified that would result in a response being sent, the underlying implementation must actively reject request attempts to this backend, by rejecting the connection or returning a 500 status code. Request rejections must respect weight; if an invalid backend is requested to have 80% of requests, then 80% of requests must be rejected instead.\n\nSupport: Core for Kubernetes Service\n\nSupport: Extended for Kubernetes ServiceImport\n\nSupport: Implementation-specific for any other resource\n\nSupport for weight: Extended", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.BackendRef" + } + }, + "name": { + "description": "Name is the name of the route rule. This name MUST be unique within a Route if it is set.\n\nSupport: Extended", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TLSRouteRule", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TLSRouteSpec": { + "description": "TLSRouteSpec defines the desired state of a TLSRoute resource.", + "type": "object", + "required": [ + "rules" + ], + "properties": { + "hostnames": { + "description": "Hostnames defines a set of SNI names that should match against the SNI attribute of TLS ClientHello message in TLS handshake. This matches the RFC 1123 definition of a hostname with 2 notable exceptions:\n\n1. IPs are not allowed in SNI names per RFC 6066. 2. A hostname may be prefixed with a wildcard label (`*.`). The wildcard\n label must appear by itself as the first label.\n\nIf a hostname is specified by both the Listener and TLSRoute, there must be at least one intersecting hostname for the TLSRoute to be attached to the Listener. For example:\n\n* A Listener with `test.example.com` as the hostname matches TLSRoutes\n that have either not specified any hostnames, or have specified at\n least one of `test.example.com` or `*.example.com`.\n* A Listener with `*.example.com` as the hostname matches TLSRoutes\n that have either not specified any hostnames or have specified at least\n one hostname that matches the Listener hostname. For example,\n `test.example.com` and `*.example.com` would both match. On the other\n hand, `example.com` and `test.example.net` would not match.\n\nIf both the Listener and TLSRoute have specified hostnames, any TLSRoute hostnames that do not match the Listener hostname MUST be ignored. For example, if a Listener specified `*.example.com`, and the TLSRoute specified `test.example.com` and `test.example.net`, `test.example.net` must not be considered for a match.\n\nIf both the Listener and TLSRoute have specified hostnames, and none match with the criteria above, then the TLSRoute is not accepted. The implementation must raise an 'Accepted' Condition with a status of `False` in the corresponding RouteParentStatus.\n\nSupport: Core", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "parentRefs": { + "description": "ParentRefs references the resources (usually Gateways) that a Route wants to be attached to. Note that the referenced parent resource needs to allow this for the attachment to be complete. For Gateways, that means the Gateway needs to allow attachment from Routes of this kind and namespace. For Services, that means the Service must either be in the same namespace for a \"producer\" route, or the mesh implementation must support and allow \"consumer\" routes for the referenced Service. ReferenceGrant is not applicable for governing ParentRefs to Services - it is not possible to create a \"producer\" route for a Service in a different namespace from the Route.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile) * Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent resources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may be collapsed by an implementation. For example, some implementations may choose to merge compatible Gateway Listeners together. If that is the case, the list of routes attached to those resources should also be merged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific rules. Cross-namespace references are only valid if they are explicitly allowed by something in the namespace they are referring to. For example, Gateway has the AllowedRoutes field, and ReferenceGrant provides a generic way to enable other kinds of cross-namespace reference.\n\n\u003cgateway:experimental:description\u003e ParentRefs from a Route to a Service in the same namespace are \"producer\" routes, which apply default routing rules to inbound connections from any namespace to the Service.\n\nParentRefs from a Route to a Service in a different namespace are \"consumer\" routes, and these routing rules are only applied to outbound connections originating from the same namespace as the Route, for which the intended destination of the connections are a Service targeted as a ParentRef of the Route. \u003c/gateway:experimental:description\u003e\n\n\u003cgateway:standard:validation:XValidation:message=\"sectionName must be specified when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '')) : true))\"\u003e \u003cgateway:standard:validation:XValidation:message=\"sectionName must be unique when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || (has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName))))\"\u003e \u003cgateway:experimental:validation:XValidation:message=\"sectionName or port must be specified when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__)) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '') \u0026\u0026 (!has(p1.port) || p1.port == 0) == (!has(p2.port) || p2.port == 0)): true))\"\u003e \u003cgateway:experimental:validation:XValidation:message=\"sectionName or port must be unique when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || ( has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName)) \u0026\u0026 (((!has(p1.port) || p1.port == 0) \u0026\u0026 (!has(p2.port) || p2.port == 0)) || (has(p1.port) \u0026\u0026 has(p2.port) \u0026\u0026 p1.port == p2.port))))\"\u003e", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.ParentReference" + } + }, + "rules": { + "description": "Rules are a list of TLS matchers and actions.\n\n\u003cgateway:experimental:validation:XValidation:message=\"Rule name must be unique within the route\",rule=\"self.all(l1, !has(l1.name) || self.exists_one(l2, has(l2.name) \u0026\u0026 l1.name == l2.name))\"\u003e", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.TLSRouteRule" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TLSRouteSpec", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.TLSRouteStatus": { + "description": "TLSRouteStatus defines the observed state of TLSRoute", + "type": "object", + "required": [ + "parents" + ], + "properties": { + "parents": { + "description": "Parents is a list of parent resources (usually Gateways) that are associated with the route, and the status of the route with respect to each parent. When this route attaches to a parent, the controller that manages the parent must add an entry to this list when the controller first sees the route and should update the entry as appropriate when the route or gateway is modified.\n\nNote that parent references that cannot be resolved by an implementation of this API will not be added to this list. Implementations of this API can only populate Route status for the Gateways/parent resources they are responsible for.\n\nA maximum of 32 Gateways will be represented in this list. An empty list means the route has not been attached to any Gateway.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.RouteParentStatus" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "TLSRouteStatus", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.UDPRoute": { + "description": "UDPRoute provides a way to route UDP traffic. When combined with a Gateway listener, it can be used to forward traffic on the port specified by the listener to a set of backends specified by the UDPRoute.", + "type": "object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of UDPRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.UDPRouteSpec" + }, + "status": { + "description": "Status defines the current state of UDPRoute.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.UDPRouteStatus" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "UDPRoute", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.UDPRouteList": { + "description": "UDPRouteList contains a list of UDPRoute", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.UDPRoute" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "UDPRouteList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.UDPRouteRule": { + "description": "UDPRouteRule is the configuration for a given rule.", + "type": "object", + "properties": { + "backendRefs": { + "description": "BackendRefs defines the backend(s) where matching requests should be sent. If unspecified or invalid (refers to a non-existent resource or a Service with no endpoints), the underlying implementation MUST actively reject connection attempts to this backend. Packet drops must respect weight; if an invalid backend is requested to have 80% of the packets, then 80% of packets must be dropped instead.\n\nSupport: Core for Kubernetes Service\n\nSupport: Extended for Kubernetes ServiceImport\n\nSupport: Implementation-specific for any other resource\n\nSupport for weight: Extended", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.BackendRef" + } + }, + "name": { + "description": "Name is the name of the route rule. This name MUST be unique within a Route if it is set.\n\nSupport: Extended", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "UDPRouteRule", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.UDPRouteSpec": { + "description": "UDPRouteSpec defines the desired state of UDPRoute.", + "type": "object", + "required": [ + "rules" + ], + "properties": { + "parentRefs": { + "description": "ParentRefs references the resources (usually Gateways) that a Route wants to be attached to. Note that the referenced parent resource needs to allow this for the attachment to be complete. For Gateways, that means the Gateway needs to allow attachment from Routes of this kind and namespace. For Services, that means the Service must either be in the same namespace for a \"producer\" route, or the mesh implementation must support and allow \"consumer\" routes for the referenced Service. ReferenceGrant is not applicable for governing ParentRefs to Services - it is not possible to create a \"producer\" route for a Service in a different namespace from the Route.\n\nThere are two kinds of parent resources with \"Core\" support:\n\n* Gateway (Gateway conformance profile) * Service (Mesh conformance profile, ClusterIP Services only)\n\nThis API may be extended in the future to support additional kinds of parent resources.\n\nParentRefs must be _distinct_. This means either that:\n\n* They select different objects. If this is the case, then parentRef\n entries are distinct. In terms of fields, this means that the\n multi-part key defined by `group`, `kind`, `namespace`, and `name` must\n be unique across all parentRef entries in the Route.\n* They do not select different objects, but for each optional field used,\n each ParentRef that selects the same object must set the same set of\n optional fields to different values. If one ParentRef sets a\n combination of optional fields, all must set the same combination.\n\nSome examples:\n\n* If one ParentRef sets `sectionName`, all ParentRefs referencing the\n same object must also set `sectionName`.\n* If one ParentRef sets `port`, all ParentRefs referencing the same\n object must also set `port`.\n* If one ParentRef sets `sectionName` and `port`, all ParentRefs\n referencing the same object must also set `sectionName` and `port`.\n\nIt is possible to separately reference multiple distinct objects that may be collapsed by an implementation. For example, some implementations may choose to merge compatible Gateway Listeners together. If that is the case, the list of routes attached to those resources should also be merged.\n\nNote that for ParentRefs that cross namespace boundaries, there are specific rules. Cross-namespace references are only valid if they are explicitly allowed by something in the namespace they are referring to. For example, Gateway has the AllowedRoutes field, and ReferenceGrant provides a generic way to enable other kinds of cross-namespace reference.\n\n\u003cgateway:experimental:description\u003e ParentRefs from a Route to a Service in the same namespace are \"producer\" routes, which apply default routing rules to inbound connections from any namespace to the Service.\n\nParentRefs from a Route to a Service in a different namespace are \"consumer\" routes, and these routing rules are only applied to outbound connections originating from the same namespace as the Route, for which the intended destination of the connections are a Service targeted as a ParentRef of the Route. \u003c/gateway:experimental:description\u003e\n\n\u003cgateway:standard:validation:XValidation:message=\"sectionName must be specified when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '')) : true))\"\u003e \u003cgateway:standard:validation:XValidation:message=\"sectionName must be unique when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || (has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName))))\"\u003e \u003cgateway:experimental:validation:XValidation:message=\"sectionName or port must be specified when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.all(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__)) ? ((!has(p1.sectionName) || p1.sectionName == '') == (!has(p2.sectionName) || p2.sectionName == '') \u0026\u0026 (!has(p1.port) || p1.port == 0) == (!has(p2.port) || p2.port == 0)): true))\"\u003e \u003cgateway:experimental:validation:XValidation:message=\"sectionName or port must be unique when parentRefs includes 2 or more references to the same parent\",rule=\"self.all(p1, self.exists_one(p2, p1.group == p2.group \u0026\u0026 p1.kind == p2.kind \u0026\u0026 p1.name == p2.name \u0026\u0026 (((!has(p1.__namespace__) || p1.__namespace__ == '') \u0026\u0026 (!has(p2.__namespace__) || p2.__namespace__ == '')) || (has(p1.__namespace__) \u0026\u0026 has(p2.__namespace__) \u0026\u0026 p1.__namespace__ == p2.__namespace__ )) \u0026\u0026 (((!has(p1.sectionName) || p1.sectionName == '') \u0026\u0026 (!has(p2.sectionName) || p2.sectionName == '')) || ( has(p1.sectionName) \u0026\u0026 has(p2.sectionName) \u0026\u0026 p1.sectionName == p2.sectionName)) \u0026\u0026 (((!has(p1.port) || p1.port == 0) \u0026\u0026 (!has(p2.port) || p2.port == 0)) || (has(p1.port) \u0026\u0026 has(p2.port) \u0026\u0026 p1.port == p2.port))))\"\u003e", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.ParentReference" + } + }, + "rules": { + "description": "Rules are a list of UDP matchers and actions.\n\n\u003cgateway:experimental:validation:XValidation:message=\"Rule name must be unique within the route\",rule=\"self.all(l1, !has(l1.name) || self.exists_one(l2, has(l2.name) \u0026\u0026 l1.name == l2.name))\"\u003e", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.UDPRouteRule" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "UDPRouteSpec", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha2.UDPRouteStatus": { + "description": "UDPRouteStatus defines the observed state of UDPRoute.", + "type": "object", + "required": [ + "parents" + ], + "properties": { + "parents": { + "description": "Parents is a list of parent resources (usually Gateways) that are associated with the route, and the status of the route with respect to each parent. When this route attaches to a parent, the controller that manages the parent must add an entry to this list when the controller first sees the route and should update the entry as appropriate when the route or gateway is modified.\n\nNote that parent references that cannot be resolved by an implementation of this API will not be added to this list. Implementations of this API can only populate Route status for the Gateways/parent resources they are responsible for.\n\nA maximum of 32 Gateways will be represented in this list. An empty list means the route has not been attached to any Gateway.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.RouteParentStatus" + } + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha2", + "Kind": "UDPRouteStatus", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha3.BackendTLSPolicy": { + "description": "BackendTLSPolicy provides a way to configure how a Gateway connects to a Backend via TLS.", + "type": "object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "Spec defines the desired state of BackendTLSPolicy.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha3.BackendTLSPolicySpec" + }, + "status": { + "description": "Status defines the current state of BackendTLSPolicy.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.PolicyStatus" + } + }, + "x-fabric8-info": { + "Type": "object", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha3", + "Kind": "BackendTLSPolicy", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha3.BackendTLSPolicyList": { + "description": "BackendTLSPolicyList contains a list of BackendTLSPolicies", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "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", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha3.BackendTLSPolicy" + } + }, + "kind": { + "description": "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", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-fabric8-info": { + "Type": "list", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha3", + "Kind": "BackendTLSPolicyList", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha3.BackendTLSPolicySpec": { + "description": "BackendTLSPolicySpec defines the desired state of BackendTLSPolicy.\n\nSupport: Extended", + "type": "object", + "required": [ + "targetRefs", + "validation" + ], + "properties": { + "options": { + "description": "Options are a list of key/value pairs to enable extended TLS configuration for each implementation. For example, configuring the minimum TLS version or supported cipher suites.\n\nA set of common keys MAY be defined by the API in the future. To avoid any ambiguity, implementation-specific definitions MUST use domain-prefixed names, such as `example.com/my-custom-option`. Un-prefixed names are reserved for key names defined by Gateway API.\n\nSupport: Implementation-specific", + "type": "object", + "additionalProperties": { + "type": "string", + "default": "" + } + }, + "targetRefs": { + "description": "TargetRefs identifies an API object to apply the policy to. Only Services have Extended support. Implementations MAY support additional objects, with Implementation Specific support. Note that this config applies to the entire referenced resource by default, but this default may change in the future to provide a more granular application of the policy.\n\nSupport: Extended for Kubernetes Service\n\nSupport: Implementation-specific for any other resource", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha2.LocalPolicyTargetReferenceWithSectionName" + } + }, + "validation": { + "description": "Validation contains backend TLS validation configuration.", + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha3.BackendTLSPolicyValidation" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha3", + "Kind": "BackendTLSPolicySpec", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha3.BackendTLSPolicyValidation": { + "description": "BackendTLSPolicyValidation contains backend TLS validation configuration.", + "type": "object", + "required": [ + "hostname" + ], + "properties": { + "caCertificateRefs": { + "description": "CACertificateRefs contains one or more references to Kubernetes objects that contain a PEM-encoded TLS CA certificate bundle, which is used to validate a TLS handshake between the Gateway and backend Pod.\n\nIf CACertificateRefs is empty or unspecified, then WellKnownCACertificates must be specified. Only one of CACertificateRefs or WellKnownCACertificates may be specified, not both. If CACertifcateRefs is empty or unspecified, the configuration for WellKnownCACertificates MUST be honored instead if supported by the implementation.\n\nReferences to a resource in a different namespace are invalid for the moment, although we will revisit this in the future.\n\nA single CACertificateRef to a Kubernetes ConfigMap kind has \"Core\" support. Implementations MAY choose to support attaching multiple certificates to a backend, but this behavior is implementation-specific.\n\nSupport: Core - An optional single reference to a Kubernetes ConfigMap, with the CA certificate in a key named `ca.crt`.\n\nSupport: Implementation-specific (More than one reference, or other kinds of resources).", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1.LocalObjectReference" + } + }, + "hostname": { + "description": "Hostname is used for two purposes in the connection between Gateways and backends:\n\n1. Hostname MUST be used as the SNI to connect to the backend (RFC 6066). 2. If SubjectAltNames is not specified, Hostname MUST be used for\n authentication and MUST match the certificate served by the matching\n backend.\n\nSupport: Core", + "type": "string", + "default": "" + }, + "subjectAltNames": { + "description": "SubjectAltNames contains one or more Subject Alternative Names. When specified, the certificate served from the backend MUST have at least one Subject Alternate Name matching one of the specified SubjectAltNames.\n\nSupport: Core", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.networking.gateway.v1alpha3.SubjectAltName" + } + }, + "wellKnownCACertificates": { + "description": "WellKnownCACertificates specifies whether system CA certificates may be used in the TLS handshake between the gateway and backend pod.\n\nIf WellKnownCACertificates is unspecified or empty (\"\"), then CACertificateRefs must be specified with at least one entry for a valid configuration. Only one of CACertificateRefs or WellKnownCACertificates may be specified, not both. If an implementation does not support the WellKnownCACertificates field or the value supplied is not supported, the Status Conditions on the Policy MUST be updated to include an Accepted: False Condition with Reason: Invalid.\n\nSupport: Implementation-specific", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha3", + "Kind": "BackendTLSPolicyValidation", + "Scope": "Namespaced" + } + }, + "io.k8s.networking.gateway.v1alpha3.SubjectAltName": { + "description": "SubjectAltName represents Subject Alternative Name.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "hostname": { + "description": "Hostname contains Subject Alternative Name specified in DNS name format. Required when Type is set to Hostname, ignored otherwise.\n\nSupport: Core", + "type": "string" + }, + "type": { + "description": "Type determines the format of the Subject Alternative Name. Always required.\n\nSupport: Core", + "type": "string", + "default": "" + }, + "uri": { + "description": "URI contains Subject Alternative Name specified in a full URI format. It MUST include both a scheme (e.g., \"http\" or \"ftp\") and a scheme-specific-part. Common values include SPIFFE IDs like \"spiffe://mycluster.example.com/ns/myns/sa/svc1sa\". Required when Type is set to URI, ignored otherwise.\n\nSupport: Core", + "type": "string" + } + }, + "x-fabric8-info": { + "Type": "nested", + "Group": "gateway.networking.k8s.io", + "Version": "v1alpha3", + "Kind": "SubjectAltName", + "Scope": "Namespaced" + } + }, "io.k8s.networking.gateway.v1beta1.Gateway": { "description": "Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners to a set of IP addresses.", "type": "object",