package com.bocloud.cmp.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * aliyun 云主机模板 model
 *
 * @author ymh
 * @时间 2019年3月8日
 */
public class ServerTemplateModel {
    private String action;
    private Long id;
    private Long serverId;
    private String name;
    private Boolean ha; // 高可用
    private Integer cpu;
    private BigDecimal memory;
    private Long vendorId;
    private String region;
    private String zone;
    private Date createTime;
    private Date modifyTime;
    private String templateUuid;
    private Long defaultVersionNumber;
    private Long latestVersionNumber;
    private String resourceGroupId;
    private String tags;
    private String remark;
    private String status;
    private List<VolumeModel> volumeModels;
    private List<NetworkCardModel> networkCardModels;
    // 版本信息
    private ServerTemplateVersionModel serverTemplateVersionModel;
    private List<ServerTemplateVersionModel> templateVersionModels;
    // 版本号集合
    private List<Long> versions;
    // 引导方式
    private String firmware;
    // 快速克隆false  完全拷贝克隆true
    private Boolean fullClone;
    // 基于模板创建云主机时，云主机的主机名
    private String vmHostname;
    // 基于模板创建云主机时，云主机的密码
    private String password;

    public ServerTemplateModel(String templateUuid) {
        super();
        this.templateUuid = templateUuid;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public ServerTemplateModel() {
        super();
    }

    public String getName() {
        return name;
    }

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

    public Long getVendorId() {
        return vendorId;
    }

    public void setVendorId(Long vendorId) {
        this.vendorId = vendorId;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getZone() {
        return zone;
    }

    public void setZone(String zone) {
        this.zone = zone;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getTemplateUuid() {
        return templateUuid;
    }

    public void setTemplateUuid(String templateUuid) {
        this.templateUuid = templateUuid;
    }

    public Long getDefaultVersionNumber() {
        return defaultVersionNumber;
    }

    public void setDefaultVersionNumber(Long defaultVersionNumber) {
        this.defaultVersionNumber = defaultVersionNumber;
    }

    public Long getLatestVersionNumber() {
        return latestVersionNumber;
    }

    public void setLatestVersionNumber(Long latestVersionNumber) {
        this.latestVersionNumber = latestVersionNumber;
    }

    public String getResourceGroupId() {
        return resourceGroupId;
    }

    public void setResourceGroupId(String resourceGroupId) {
        this.resourceGroupId = resourceGroupId;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public List<ServerTemplateVersionModel> getTemplateVersionModels() {
        return templateVersionModels;
    }

    public void setTemplateVersionModels(List<ServerTemplateVersionModel> templateVersionModels) {
        this.templateVersionModels = templateVersionModels;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public List<VolumeModel> getVolumeModels() {
        return volumeModels;
    }

    public void setVolumeModels(List<VolumeModel> volumeModels) {
        this.volumeModels = volumeModels;
    }

    public ServerTemplateVersionModel getServerTemplateVersionModel() {
        return serverTemplateVersionModel;
    }

    public void setServerTemplateVersionModel(ServerTemplateVersionModel serverTemplateVersionModel) {
        this.serverTemplateVersionModel = serverTemplateVersionModel;
    }

    public List<Long> getVersions() {
        return versions;
    }

    public void setVersions(List<Long> versions) {
        this.versions = versions;
    }

    public List<NetworkCardModel> getNetworkCardModels() {
        return networkCardModels;
    }

    public void setNetworkCardModels(List<NetworkCardModel> networkCardModels) {
        this.networkCardModels = networkCardModels;
    }

    public Boolean getHa() {
        return ha;
    }

    public void setHa(Boolean ha) {
        this.ha = ha;
    }

    public Integer getCpu() {
        return cpu;
    }

    public void setCpu(Integer cpu) {
        this.cpu = cpu;
    }

    public BigDecimal getMemory() {
        return memory;
    }

    public void setMemory(BigDecimal memory) {
        this.memory = memory;
    }

    public String getFirmware() {
        return firmware;
    }

    public void setFirmware(String firmware) {
        this.firmware = firmware;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Boolean getFullClone() {
        return fullClone;
    }

    public void setFullClone(Boolean fullClone) {
        this.fullClone = fullClone;
    }

    public Long getServerId() {
        return serverId;
    }

    public void setServerId(Long serverId) {
        this.serverId = serverId;
    }

    public String getVmHostname() {
        return vmHostname;
    }

    public void setVmHostname(String vmHostname) {
        this.vmHostname = vmHostname;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
