package com.bocloud.cmp.model;

/**
 * 虚拟机vmware tools配置
 *
 * @author wangyu
 * @version 1.0
 * @since 2019年1月17日
 */
public class VmwareToolsConfig {
    // 用于指定在虚拟机启动后是否应运行脚本的标志
    private Boolean afterPowerOn;
    // 用于指定在虚拟机恢复后是否应运行脚本的标志。
    private Boolean afterResume;
    // 用于指定在虚拟机挂起之前是否应运行脚本的标志。
    private Boolean beforeGuestStandby;
    // 用于指定在虚拟机关闭之前是否应运行脚本的标志。
    private Boolean beforeGuestShutdown;
    // 用于指定在虚拟机重新引导之前是否应运行脚本的标志。
    private Boolean beforeGuestReboot;
    /**
     * 虚拟机的工具升级策略设置，manual：不会为此虚拟机执行工具的自动升级。 用户必须手动调用UpgradeTools操作才能更新工具。
     * upgradeAtPowerCycle:当虚拟机重新启动时，系统会在VM重新启动时检查更新版本的工具。
     * 如果可用，则会在虚拟机上自动执行工具升级，并在必要时重新启动。
     */
    private String toolsUpgradePolicy;
    // 设置后，这表示VM上的自定义操作处于挂起状态。 该值表示主机上自定义程序包的文件名。
    private String pendingCustomization;
    // 指示工具程序是否将时间与主机时间同步。
    private Boolean syncTimeWithHost;
    /**
     * 以下为电源控制
     */
    /**
     * 描述此虚拟机的默认电源关闭类型。 可能的值由PowerOpType指定。 hard - 使用PowerOff方法执行断电。 soft -
     * 使用ShutdownGuest方法执行断电。 preset - 预设值在defaultPowerOffType部分中指定。
     * 此设置是建议性的，客户可以选择忽略它。
     */
    private String powerOffType;
    /**
     * 描述此虚拟机的默认挂起类型。 可能的值由PowerOpType指定。 hard - 使用Suspend方法执行挂起。 soft -
     * 使用StandbyGuest方法执行挂起。 preset - 预设值在defaultSuspendType部分中指定。
     * 此设置是建议性的，客户可以选择忽略它。
     */
    private String suspendType;
    /**
     * 描述此虚拟机的默认重置类型。 可能的值由PowerOpType指定。 hard - 使用Reset方法执行重置。 soft -
     * 使用RebootGuest方法执行重置。 preset - 预设值在defaultResetType部分中指定。 此设置是建议性的，客户可以选择忽略它。
     */
    private String resetType;
    /**
     * 断电的默认操作：soft or hard
     */
    private String defaultPowerOffType;
    /**
     * 挂起的默认操作：soft or hard
     */
    private String defaultSuspendType;
    /**
     * 重置的默认操作：soft or hard
     */
    private String defaultResetType;
    /**
     * 接收S1 ACPI调用时虚拟机的行为。
     */
    private String standbyAction;

    /**
     * @return the afterPowerOn
     */
    public Boolean getAfterPowerOn() {
        return afterPowerOn;
    }

    /**
     * @param afterPowerOn the afterPowerOn to set
     */
    public void setAfterPowerOn(Boolean afterPowerOn) {
        this.afterPowerOn = afterPowerOn;
    }

    /**
     * @return the afterResume
     */
    public Boolean getAfterResume() {
        return afterResume;
    }

    /**
     * @param afterResume the afterResume to set
     */
    public void setAfterResume(Boolean afterResume) {
        this.afterResume = afterResume;
    }

    /**
     * @return the beforeGuestStandby
     */
    public Boolean getBeforeGuestStandby() {
        return beforeGuestStandby;
    }

    /**
     * @param beforeGuestStandby the beforeGuestStandby to set
     */
    public void setBeforeGuestStandby(Boolean beforeGuestStandby) {
        this.beforeGuestStandby = beforeGuestStandby;
    }

    /**
     * @return the beforeGuestShutdown
     */
    public Boolean getBeforeGuestShutdown() {
        return beforeGuestShutdown;
    }

    /**
     * @param beforeGuestShutdown the beforeGuestShutdown to set
     */
    public void setBeforeGuestShutdown(Boolean beforeGuestShutdown) {
        this.beforeGuestShutdown = beforeGuestShutdown;
    }

    /**
     * @return the beforeGuestReboot
     */
    public Boolean getBeforeGuestReboot() {
        return beforeGuestReboot;
    }

    /**
     * @param beforeGuestReboot the beforeGuestReboot to set
     */
    public void setBeforeGuestReboot(Boolean beforeGuestReboot) {
        this.beforeGuestReboot = beforeGuestReboot;
    }

    /**
     * @return the toolsUpgradePolicy
     */
    public String getToolsUpgradePolicy() {
        return toolsUpgradePolicy;
    }

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

    /**
     * @return the pendingCustomization
     */
    public String getPendingCustomization() {
        return pendingCustomization;
    }

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

    /**
     * @return the syncTimeWithHost
     */
    public Boolean getSyncTimeWithHost() {
        return syncTimeWithHost;
    }

    /**
     * @param syncTimeWithHost the syncTimeWithHost to set
     */
    public void setSyncTimeWithHost(Boolean syncTimeWithHost) {
        this.syncTimeWithHost = syncTimeWithHost;
    }

    /**
     * @return the powerOffType
     */
    public String getPowerOffType() {
        return powerOffType;
    }

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

    /**
     * @return the suspendType
     */
    public String getSuspendType() {
        return suspendType;
    }

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

    /**
     * @return the resetType
     */
    public String getResetType() {
        return resetType;
    }

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

    /**
     * @return the defaultPowerOffType
     */
    public String getDefaultPowerOffType() {
        return defaultPowerOffType;
    }

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

    /**
     * @return the defaultSuspendType
     */
    public String getDefaultSuspendType() {
        return defaultSuspendType;
    }

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

    /**
     * @return the defaultResetType
     */
    public String getDefaultResetType() {
        return defaultResetType;
    }

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

    /**
     * @return the standbyAction
     */
    public String getStandbyAction() {
        return standbyAction;
    }

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