package com.bocloud.cmp.model.hmc;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * nim status
 *
 * @author lkx007
 */
public class NimStatus {
    /**
     * 类型
     * <p>
     * machines
     */
    @JSONField(name = "class")
    private String nimClass;
    /**
     * standalone
     */
    private String type;
    /**
     * shell
     */
    private String connect;
    /**
     * chrp
     */
    private String platform;
    /**
     * 64
     */
    @JSONField(name = "netboot_kernel")
    private String netbootKernel;
    /**
     * nimnet0 nim_server 0
     */
    private String if1;
    /**
     * bnc
     */
    @JSONField(name = "cable_type1")
    private String cableType1;
    /**
     * ready for a NIM operation
     */
    @JSONField(name = "Cstate")
    private String cstate;
    /**
     * in the process of booting
     */
    @JSONField(name = "prev_state")
    private String prevState;
    /**
     * not running
     */
    private String Mstate;
    /**
     * 00CF85634C00
     */
    private String cpuid;
    /**
     * success
     */
    @JSONField(name = "Cstate_result")
    private String cstateResult;
    /**
     * BOS install 2% complete : Running: MnM_Restore_NIM_Required_Files...
     */
    private String info;
    /**
     * 80%
     */
    private Integer percent;
    /**
     * INSTALLING
     * <p>
     * INSTALL_FAIL
     */
    private String status;
    /**
     * nim job start time stamp
     */
    private long begin;
    /**
     * ip address
     */
    private String ip;

    /**
     * @return the nimClass
     */
    public String getNimClass() {
        return nimClass;
    }

    /**
     * @param nimClass the nimClass to set
     */
    public void setNimClass(String nimClass) {
        this.nimClass = nimClass;
    }

    /**
     * @return the type
     */
    public String getType() {
        return type;
    }

    /**
     * @param type the type to set
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * @return the connect
     */
    public String getConnect() {
        return connect;
    }

    /**
     * @param connect the connect to set
     */
    public void setConnect(String connect) {
        this.connect = connect;
    }

    /**
     * @return the platform
     */
    public String getPlatform() {
        return platform;
    }

    /**
     * @param platform the platform to set
     */
    public void setPlatform(String platform) {
        this.platform = platform;
    }

    /**
     * @return the netbootKernel
     */
    public String getNetbootKernel() {
        return netbootKernel;
    }

    /**
     * @param netbootKernel the netbootKernel to set
     */
    public void setNetbootKernel(String netbootKernel) {
        this.netbootKernel = netbootKernel;
    }

    /**
     * @return the if1
     */
    public String getIf1() {
        return if1;
    }

    /**
     * @param if1 the if1 to set
     */
    public void setIf1(String if1) {
        this.if1 = if1;
    }

    /**
     * @return the cableType1
     */
    public String getCableType1() {
        return cableType1;
    }

    /**
     * @param cableType1 the cableType1 to set
     */
    public void setCableType1(String cableType1) {
        this.cableType1 = cableType1;
    }

    /**
     * @return the cstate
     */
    public String getCstate() {
        return cstate;
    }

    /**
     * @param cstate the cstate to set
     */
    public void setCstate(String cstate) {
        this.cstate = cstate;
    }

    /**
     * @return the prevState
     */
    public String getPrevState() {
        return prevState;
    }

    /**
     * @param prevState the prevState to set
     */
    public void setPrevState(String prevState) {
        this.prevState = prevState;
    }

    /**
     * @return the mstate
     */
    public String getMstate() {
        return Mstate;
    }

    /**
     * @param mstate the mstate to set
     */
    public void setMstate(String mstate) {
        Mstate = mstate;
    }

    /**
     * @return the cpuid
     */
    public String getCpuid() {
        return cpuid;
    }

    /**
     * @param cpuid the cpuid to set
     */
    public void setCpuid(String cpuid) {
        this.cpuid = cpuid;
    }

    /**
     * @return the cstateResult
     */
    public String getCstateResult() {
        return cstateResult;
    }

    /**
     * @param cstateResult the cstateResult to set
     */
    public void setCstateResult(String cstateResult) {
        this.cstateResult = cstateResult;
    }

    /**
     * @return the info
     */
    public String getInfo() {
        return info;
    }

    /**
     * @param info the info to set
     */
    public void setInfo(String info) {
        this.info = info;
    }

    /**
     * @return the percent
     */
    public Integer getPercent() {
        return percent;
    }

    /**
     * @param percent the percent to set
     */
    public void setPercent(Integer percent) {
        this.percent = percent;
    }

    /**
     * @return the status
     */
    public String getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * @return the begin
     */
    public long getBegin() {
        return begin;
    }

    /**
     * @param begin the begin to set
     */
    public void setBegin(long begin) {
        this.begin = begin;
    }

    /**
     * @return the ip
     */
    public String getIp() {
        return ip;
    }

    /**
     * @param ip the ip to set
     */
    public void setIp(String ip) {
        this.ip = ip;
    }

    public NimStatus() {
    }

    public NimStatus(String info, Integer percent, String status) {
        super();
        this.info = info;
        this.percent = percent;
        this.status = status;
    }

    public NimStatus(String info, Integer percent, String status, long begin, String ip) {
        super();
        this.info = info;
        this.percent = percent;
        this.status = status;
        this.begin = begin;
        this.ip = ip;
    }

    @Override
    public String toString() {
        return JSONObject.toJSONString(this);
    }
}
