package io.renren.modules.kubesphere.module.response;

import com.google.gson.annotations.SerializedName;

import java.util.List;

/**
 * @author chenrj
 * @email 1412736935@qq.com
 * @since 2021/8/6
 */
public class S2iBuilderCreateBinaryResponse {
    @SerializedName("apiVersion")
    private String apiVersion;
    @SerializedName("kind")
    private String kind;
    @SerializedName("metadata")
    private MetadataDTO metadata;

    public String getApiVersion() {
        return apiVersion;
    }

    public void setApiVersion(String apiVersion) {
        this.apiVersion = apiVersion;
    }

    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public MetadataDTO getMetadata() {
        return metadata;
    }

    public void setMetadata(MetadataDTO metadata) {
        this.metadata = metadata;
    }

    public static class MetadataDTO {
        @SerializedName("annotations")
        private AnnotationsDTO annotations;
        @SerializedName("creationTimestamp")
        private String creationTimestamp;
        @SerializedName("generation")
        private int generation;
        @SerializedName("labels")
        private LabelsDTO labels;
        @SerializedName("name")
        private String name;
        @SerializedName("namespace")
        private String namespace;
        @SerializedName("resourceVersion")
        private String resourceVersion;
        @SerializedName("uid")
        private String uid;
        @SerializedName("managedFields")
        private List<ManagedFieldsDTO> managedFields;

        public AnnotationsDTO getAnnotations() {
            return annotations;
        }

        public void setAnnotations(AnnotationsDTO annotations) {
            this.annotations = annotations;
        }

        public String getCreationTimestamp() {
            return creationTimestamp;
        }

        public void setCreationTimestamp(String creationTimestamp) {
            this.creationTimestamp = creationTimestamp;
        }

        public int getGeneration() {
            return generation;
        }

        public void setGeneration(int generation) {
            this.generation = generation;
        }

        public LabelsDTO getLabels() {
            return labels;
        }

        public void setLabels(LabelsDTO labels) {
            this.labels = labels;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getNamespace() {
            return namespace;
        }

        public void setNamespace(String namespace) {
            this.namespace = namespace;
        }

        public String getResourceVersion() {
            return resourceVersion;
        }

        public void setResourceVersion(String resourceVersion) {
            this.resourceVersion = resourceVersion;
        }

        public String getUid() {
            return uid;
        }

        public void setUid(String uid) {
            this.uid = uid;
        }

        public List<ManagedFieldsDTO> getManagedFields() {
            return managedFields;
        }

        public void setManagedFields(List<ManagedFieldsDTO> managedFields) {
            this.managedFields = managedFields;
        }

        public static class AnnotationsDTO {
            @SerializedName("kubesphere.io/creator")
            private String _$KubesphereIoCreator13; // FIXME check this code

            public String get_$KubesphereIoCreator13() {
                return _$KubesphereIoCreator13;
            }

            public void set_$KubesphereIoCreator13(String _$KubesphereIoCreator13) {
                this._$KubesphereIoCreator13 = _$KubesphereIoCreator13;
            }
        }

        public static class LabelsDTO {
            @SerializedName("controller-tools.k8s.io")
            private String _$ControllertoolsK8sIo134; // FIXME check this code

            public String get_$ControllertoolsK8sIo134() {
                return _$ControllertoolsK8sIo134;
            }

            public void set_$ControllertoolsK8sIo134(String _$ControllertoolsK8sIo134) {
                this._$ControllertoolsK8sIo134 = _$ControllertoolsK8sIo134;
            }
        }

        public static class ManagedFieldsDTO {
            @SerializedName("apiVersion")
            private String apiVersion;
            @SerializedName("manager")
            private String manager;
            @SerializedName("operation")
            private String operation;
            @SerializedName("time")
            private String time;

            public String getApiVersion() {
                return apiVersion;
            }

            public void setApiVersion(String apiVersion) {
                this.apiVersion = apiVersion;
            }

            public String getManager() {
                return manager;
            }

            public void setManager(String manager) {
                this.manager = manager;
            }

            public String getOperation() {
                return operation;
            }

            public void setOperation(String operation) {
                this.operation = operation;
            }

            public String getTime() {
                return time;
            }

            public void setTime(String time) {
                this.time = time;
            }
        }
    }
}
