package com.bocloud.cmp.model.h3c;

import java.util.List;

public class H3cSnapshopStrategyModel {
    /**
     * 快照策略名称，名称的最大输入长度为32个字符，且只允许输入汉字、字母、数字、减号、下划线及点。 字符串（String）类型，必须。
     */
    private String name;
    /**
     * 快照策略描述，最大输入长度为120个字符。 字符串（String）类型，可选。
     */
    private String desc;
    /**
     * 快照策略状态：1：生效；0：不生效。 整型（Integer）类型，必须。
     */
    private Integer state;
    /**
     * 是否快照内存标志，0：快照磁盘，1：快照内存。 整型（Integer）类型，必须。
     */
    private Integer flag;
    /**
     * 允许快照保存的最大个数, 0为不限制，大于0为限制保留最大快照个数。 整型（Integer）类型，必须。
     */
    private Integer maxSnapshotNum;
    /**
     * 频率 :0：每月:1：每周，2：每日。 整型（Integer）类型，必须。
     */
    private Integer frequency;
    /**
     * 自动快照的日期-日。 整型（Integer）类型，必须。
     */
    private Integer day;
    /**
     * 自动快照的日期-时。 整型（Integer）类型，必须。
     */
    private Integer hour;
    /**
     * 自动快照的日期-分。 整型（Integer）类型，必须。
     */
    private Integer minutes;
    /**
     * 快照策略中的云主机。 列表（List）类型。
     */
    private List<SnapStrategyVmObject> snapStrategyVm;

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

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

    /**
     * @return the desc
     */
    public String getDesc() {
        return desc;
    }

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

    /**
     * @return the state
     */
    public Integer getState() {
        return state;
    }

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

    /**
     * @return the flag
     */
    public Integer getFlag() {
        return flag;
    }

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

    /**
     * @return the maxSnapshotNum
     */
    public Integer getMaxSnapshotNum() {
        return maxSnapshotNum;
    }

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

    /**
     * @return the frequency
     */
    public Integer getFrequency() {
        return frequency;
    }

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

    /**
     * @return the day
     */
    public Integer getDay() {
        return day;
    }

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

    /**
     * @return the hour
     */
    public Integer getHour() {
        return hour;
    }

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

    /**
     * @return the minutes
     */
    public Integer getMinutes() {
        return minutes;
    }

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

    /**
     * @return the snapStrategyVm
     */
    public List<SnapStrategyVmObject> getSnapStrategyVm() {
        return snapStrategyVm;
    }

    /**
     * @param snapStrategyVm the snapStrategyVm to set
     */
    public void setSnapStrategyVm(List<SnapStrategyVmObject> snapStrategyVm) {
        this.snapStrategyVm = snapStrategyVm;
    }

    public static class SnapStrategyVmObject {
        /**
         * 云主机ID。 长整型（Long）类型，必须。
         */
        private Long domainId;

        public Long getDomainId() {
            return domainId;
        }

        public void setDomainId(Long domainId) {
            this.domainId = domainId;
        }

        public SnapStrategyVmObject(Long domainId) {
            this.domainId = domainId;
        }
    }
}
