io.strimzi.api.kafka.model.KafkaConnectS2I Maven / Gradle / Ivy
/*
* Copyright 2018, Strimzi authors.
* License: Apache License 2.0 (see the file LICENSE or http://apache.org/licenses/LICENSE-2.0.html).
*/
package io.strimzi.api.kafka.model;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import io.fabric8.kubernetes.api.model.Doneable;
import io.fabric8.kubernetes.api.model.ObjectMeta;
import io.fabric8.kubernetes.client.CustomResource;
import io.strimzi.crdgenerator.annotations.Crd;
import io.strimzi.crdgenerator.annotations.Description;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.Inline;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static java.util.Collections.singletonList;
@JsonDeserialize(
using = JsonDeserializer.None.class
)
@Crd(
apiVersion = KafkaConnectS2I.CRD_API_VERSION,
spec = @Crd.Spec(
names = @Crd.Spec.Names(
kind = KafkaConnectS2I.RESOURCE_KIND,
plural = KafkaConnectS2I.RESOURCE_PLURAL,
shortNames = {KafkaConnectS2I.SHORT_NAME}
),
group = KafkaConnectS2I.RESOURCE_GROUP,
scope = KafkaConnectS2I.SCOPE,
version = KafkaConnectS2I.VERSION
)
)
@Buildable(
editableEnabled = false,
generateBuilderPackage = false,
builderPackage = "io.fabric8.kubernetes.api.builder",
inline = @Inline(type = Doneable.class, prefix = "Doneable", value = "done")
)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"apiVersion", "kind", "metadata", "spec"})
public class KafkaConnectS2I extends CustomResource {
private static final long serialVersionUID = 1L;
public static final String SCOPE = "Namespaced";
public static final String VERSION = "v1alpha1";
public static final String RESOURCE_KIND = "KafkaConnectS2I";
public static final String RESOURCE_LIST_KIND = RESOURCE_KIND + "List";
public static final String RESOURCE_GROUP = "kafka.strimzi.io";
public static final String RESOURCE_PLURAL = "kafkaconnects2is";
public static final String RESOURCE_SINGULAR = "kafkaconnects2i";
public static final String CRD_API_VERSION = "apiextensions.k8s.io/v1beta1";
public static final String CRD_NAME = RESOURCE_PLURAL + "." + RESOURCE_GROUP;
public static final String SHORT_NAME = "kcs2i";
public static final List RESOURCE_SHORTNAMES = singletonList(SHORT_NAME);
private String apiVersion;
private ObjectMeta metadata;
private KafkaConnectS2ISpec spec;
private Map additionalProperties = new HashMap<>(0);
@Override
public String getApiVersion() {
return apiVersion;
}
@Override
public void setApiVersion(String apiVersion) {
this.apiVersion = apiVersion;
}
@JsonProperty("kind")
@Override
public String getKind() {
return RESOURCE_KIND;
}
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@Override
public ObjectMeta getMetadata() {
return super.getMetadata();
}
@Override
public void setMetadata(ObjectMeta metadata) {
super.setMetadata(metadata);
}
@Description("The specification of the Kafka Connect deployment.")
public KafkaConnectS2ISpec getSpec() {
return spec;
}
public void setSpec(KafkaConnectS2ISpec spec) {
this.spec = spec;
}
@Override
public String toString() {
YAMLMapper mapper = new YAMLMapper().disable(YAMLGenerator.Feature.USE_NATIVE_TYPE_ID);
try {
return mapper.writeValueAsString(this);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
@JsonAnyGetter
public Map getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy