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

io.fabric8.openshift.api.model.template.Template Maven / Gradle / Ivy


package io.fabric8.openshift.api.model.template;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonCreator;
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.annotation.JsonValue;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;


/**
 * 
 * 
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({
    "ObjectLabels",
    "Objects",
    "Parameters",
    "annotations",
    "apiVersion",
    "creationTimestamp",
    "deletionTimestamp",
    "generateName",
    "kind",
    "labels",
    "name",
    "namespace",
    "resourceVersion",
    "selfLink",
    "uid"
})
public class Template {

    /**
     * 
     * 
     */
    @JsonProperty("ObjectLabels")
    @Valid
    private Map ObjectLabels;
    /**
     * 
     * 
     */
    @JsonProperty("Objects")
    @Valid
    private List Objects = new ArrayList();
    /**
     * 
     * 
     */
    @JsonProperty("Parameters")
    @Valid
    private List Parameters = new ArrayList();
    /**
     * 
     * 
     */
    @JsonProperty("annotations")
    @Valid
    private Map annotations;
    /**
     * 
     * (Required)
     * 
     */
    @JsonProperty("apiVersion")
    @NotNull
    private Template.ApiVersion apiVersion = Template.ApiVersion.fromValue("v1beta1");
    /**
     * 
     * 
     */
    @JsonProperty("creationTimestamp")
    private java.lang.String creationTimestamp;
    /**
     * 
     * 
     */
    @JsonProperty("deletionTimestamp")
    private java.lang.String deletionTimestamp;
    /**
     * 
     * 
     */
    @JsonProperty("generateName")
    private java.lang.String generateName;
    /**
     * 
     * (Required)
     * 
     */
    @JsonProperty("kind")
    @NotNull
    private java.lang.String kind = "Template";
    /**
     * 
     * 
     */
    @JsonProperty("labels")
    @Valid
    private Map labels;
    /**
     * 
     * 
     */
    @JsonProperty("name")
    @Pattern(regexp = "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$")
    @Size(max = 63)
    private java.lang.String name;
    /**
     * 
     * 
     */
    @JsonProperty("namespace")
    @Pattern(regexp = "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$")
    @Size(max = 253)
    private java.lang.String namespace;
    /**
     * 
     * 
     */
    @JsonProperty("resourceVersion")
    private java.lang.String resourceVersion;
    /**
     * 
     * 
     */
    @JsonProperty("selfLink")
    private java.lang.String selfLink;
    /**
     * 
     * 
     */
    @JsonProperty("uid")
    private java.lang.String uid;
    @JsonIgnore
    private Map additionalProperties = new HashMap();

    /**
     * No args constructor for use in serialization
     * 
     */
    public Template() {
    }

    /**
     * 
     * @param uid
     * @param apiVersion
     * @param deletionTimestamp
     * @param Parameters
     * @param Objects
     * @param generateName
     * @param labels
     * @param selfLink
     * @param kind
     * @param namespace
     * @param resourceVersion
     * @param name
     * @param ObjectLabels
     * @param annotations
     * @param creationTimestamp
     */
    public Template(Map ObjectLabels, List Objects, List Parameters, Map annotations, Template.ApiVersion apiVersion, java.lang.String creationTimestamp, java.lang.String deletionTimestamp, java.lang.String generateName, java.lang.String kind, Map labels, java.lang.String name, java.lang.String namespace, java.lang.String resourceVersion, java.lang.String selfLink, java.lang.String uid) {
        this.ObjectLabels = ObjectLabels;
        this.Objects = Objects;
        this.Parameters = Parameters;
        this.annotations = annotations;
        this.apiVersion = apiVersion;
        this.creationTimestamp = creationTimestamp;
        this.deletionTimestamp = deletionTimestamp;
        this.generateName = generateName;
        this.kind = kind;
        this.labels = labels;
        this.name = name;
        this.namespace = namespace;
        this.resourceVersion = resourceVersion;
        this.selfLink = selfLink;
        this.uid = uid;
    }

    /**
     * 
     * 
     * @return
     *     The ObjectLabels
     */
    @JsonProperty("ObjectLabels")
    public Map getObjectLabels() {
        return ObjectLabels;
    }

    /**
     * 
     * 
     * @param ObjectLabels
     *     The ObjectLabels
     */
    @JsonProperty("ObjectLabels")
    public void setObjectLabels(Map ObjectLabels) {
        this.ObjectLabels = ObjectLabels;
    }

    /**
     * 
     * 
     * @return
     *     The Objects
     */
    @JsonProperty("Objects")
    public List getObjects() {
        return Objects;
    }

    /**
     * 
     * 
     * @param Objects
     *     The Objects
     */
    @JsonProperty("Objects")
    public void setObjects(List Objects) {
        this.Objects = Objects;
    }

    /**
     * 
     * 
     * @return
     *     The Parameters
     */
    @JsonProperty("Parameters")
    public List getParameters() {
        return Parameters;
    }

    /**
     * 
     * 
     * @param Parameters
     *     The Parameters
     */
    @JsonProperty("Parameters")
    public void setParameters(List Parameters) {
        this.Parameters = Parameters;
    }

    /**
     * 
     * 
     * @return
     *     The annotations
     */
    @JsonProperty("annotations")
    public Map getAnnotations() {
        return annotations;
    }

    /**
     * 
     * 
     * @param annotations
     *     The annotations
     */
    @JsonProperty("annotations")
    public void setAnnotations(Map annotations) {
        this.annotations = annotations;
    }

    /**
     * 
     * (Required)
     * 
     * @return
     *     The apiVersion
     */
    @JsonProperty("apiVersion")
    public Template.ApiVersion getApiVersion() {
        return apiVersion;
    }

    /**
     * 
     * (Required)
     * 
     * @param apiVersion
     *     The apiVersion
     */
    @JsonProperty("apiVersion")
    public void setApiVersion(Template.ApiVersion apiVersion) {
        this.apiVersion = apiVersion;
    }

    /**
     * 
     * 
     * @return
     *     The creationTimestamp
     */
    @JsonProperty("creationTimestamp")
    public java.lang.String getCreationTimestamp() {
        return creationTimestamp;
    }

    /**
     * 
     * 
     * @param creationTimestamp
     *     The creationTimestamp
     */
    @JsonProperty("creationTimestamp")
    public void setCreationTimestamp(java.lang.String creationTimestamp) {
        this.creationTimestamp = creationTimestamp;
    }

    /**
     * 
     * 
     * @return
     *     The deletionTimestamp
     */
    @JsonProperty("deletionTimestamp")
    public java.lang.String getDeletionTimestamp() {
        return deletionTimestamp;
    }

    /**
     * 
     * 
     * @param deletionTimestamp
     *     The deletionTimestamp
     */
    @JsonProperty("deletionTimestamp")
    public void setDeletionTimestamp(java.lang.String deletionTimestamp) {
        this.deletionTimestamp = deletionTimestamp;
    }

    /**
     * 
     * 
     * @return
     *     The generateName
     */
    @JsonProperty("generateName")
    public java.lang.String getGenerateName() {
        return generateName;
    }

    /**
     * 
     * 
     * @param generateName
     *     The generateName
     */
    @JsonProperty("generateName")
    public void setGenerateName(java.lang.String generateName) {
        this.generateName = generateName;
    }

    /**
     * 
     * (Required)
     * 
     * @return
     *     The kind
     */
    @JsonProperty("kind")
    public java.lang.String getKind() {
        return kind;
    }

    /**
     * 
     * (Required)
     * 
     * @param kind
     *     The kind
     */
    @JsonProperty("kind")
    public void setKind(java.lang.String kind) {
        this.kind = kind;
    }

    /**
     * 
     * 
     * @return
     *     The labels
     */
    @JsonProperty("labels")
    public Map getLabels() {
        return labels;
    }

    /**
     * 
     * 
     * @param labels
     *     The labels
     */
    @JsonProperty("labels")
    public void setLabels(Map labels) {
        this.labels = labels;
    }

    /**
     * 
     * 
     * @return
     *     The name
     */
    @JsonProperty("name")
    public java.lang.String getName() {
        return name;
    }

    /**
     * 
     * 
     * @param name
     *     The name
     */
    @JsonProperty("name")
    public void setName(java.lang.String name) {
        this.name = name;
    }

    /**
     * 
     * 
     * @return
     *     The namespace
     */
    @JsonProperty("namespace")
    public java.lang.String getNamespace() {
        return namespace;
    }

    /**
     * 
     * 
     * @param namespace
     *     The namespace
     */
    @JsonProperty("namespace")
    public void setNamespace(java.lang.String namespace) {
        this.namespace = namespace;
    }

    /**
     * 
     * 
     * @return
     *     The resourceVersion
     */
    @JsonProperty("resourceVersion")
    public java.lang.String getResourceVersion() {
        return resourceVersion;
    }

    /**
     * 
     * 
     * @param resourceVersion
     *     The resourceVersion
     */
    @JsonProperty("resourceVersion")
    public void setResourceVersion(java.lang.String resourceVersion) {
        this.resourceVersion = resourceVersion;
    }

    /**
     * 
     * 
     * @return
     *     The selfLink
     */
    @JsonProperty("selfLink")
    public java.lang.String getSelfLink() {
        return selfLink;
    }

    /**
     * 
     * 
     * @param selfLink
     *     The selfLink
     */
    @JsonProperty("selfLink")
    public void setSelfLink(java.lang.String selfLink) {
        this.selfLink = selfLink;
    }

    /**
     * 
     * 
     * @return
     *     The uid
     */
    @JsonProperty("uid")
    public java.lang.String getUid() {
        return uid;
    }

    /**
     * 
     * 
     * @param uid
     *     The uid
     */
    @JsonProperty("uid")
    public void setUid(java.lang.String uid) {
        this.uid = uid;
    }

    @Override
    public java.lang.String toString() {
        return ToStringBuilder.reflectionToString(this);
    }

    @JsonAnyGetter
    public Map getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(java.lang.String name, Object value) {
        this.additionalProperties.put(name, value);
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder().append(ObjectLabels).append(Objects).append(Parameters).append(annotations).append(apiVersion).append(creationTimestamp).append(deletionTimestamp).append(generateName).append(kind).append(labels).append(name).append(namespace).append(resourceVersion).append(selfLink).append(uid).append(additionalProperties).toHashCode();
    }

    @Override
    public boolean equals(Object other) {
        if (other == this) {
            return true;
        }
        if ((other instanceof Template) == false) {
            return false;
        }
        Template rhs = ((Template) other);
        return new EqualsBuilder().append(ObjectLabels, rhs.ObjectLabels).append(Objects, rhs.Objects).append(Parameters, rhs.Parameters).append(annotations, rhs.annotations).append(apiVersion, rhs.apiVersion).append(creationTimestamp, rhs.creationTimestamp).append(deletionTimestamp, rhs.deletionTimestamp).append(generateName, rhs.generateName).append(kind, rhs.kind).append(labels, rhs.labels).append(name, rhs.name).append(namespace, rhs.namespace).append(resourceVersion, rhs.resourceVersion).append(selfLink, rhs.selfLink).append(uid, rhs.uid).append(additionalProperties, rhs.additionalProperties).isEquals();
    }

    @Generated("org.jsonschema2pojo")
    public static enum ApiVersion {

        V_1_BETA_1("v1beta1"),
        V_1_BETA_2("v1beta2"),
        V_1_BETA_3("v1beta3");
        private final java.lang.String value;
        private static Map constants = new HashMap();

        static {
            for (Template.ApiVersion c: values()) {
                constants.put(c.value, c);
            }
        }

        private ApiVersion(java.lang.String value) {
            this.value = value;
        }

        @JsonValue
        @Override
        public java.lang.String toString() {
            return this.value;
        }

        @JsonCreator
        public static Template.ApiVersion fromValue(java.lang.String value) {
            Template.ApiVersion constant = constants.get(value);
            if (constant == null) {
                throw new IllegalArgumentException(value);
            } else {
                return constant;
            }
        }

    }

}