package com.bocloud.cmp.model.hmc.sdk.module;

import com.bocloud.cmp.model.hmc.sdk.common.Metadata;

/**
 * 电源和灯光设置
 *
 * @author sxp
 * @since May 17, 2018
 */
public class AssociatedIPLConfiguration {
    private String group;
    private String schemaVersion;
    private Metadata metadata;
    private String currentManufacturingDefaultConfigurationBootMode;
    private String currentPowerOnSide;
    private String currentSystemKeylock;
    private String majorBootType;
    private String minorBootType;
    private String pendingManufacturingDefaultConfigurationBootMode;
    private String pendingPowerOnSide; // 供电端: Temporary临时  Permanent永久
    private String pendingSystemKeylock; // 键锁位置: normal正常  manual手动
    private String powerOnLogicalPartitionStartPolicy;
    private String powerOnOption;
    private String powerOnSpeed;
    private String powerOnSpeedOverride;
    private String powerOffWhenLastLogicalPartitionIsShutdown;
    private CurrentManufacturingDefaultConfigurationSource currentManufacturingDefaultConfigurationSource;
    private PendingManufacturingDefaultConfigurationSource pendingManufacturingDefaultConfigurationSource;
    private PendingPowerOnLogicalPartitionStartPolicy pendingPowerOnLogicalPartitionStartPolicy; // 分区启动策略: autostart 始终自动启动  userinit 由用户启动   autorecovery 自动启动以执行自动回复
    private PowerOnSource powerOnSource;

    public AssociatedIPLConfiguration() {
    }

    public String getGroup() {
        return group;
    }

    public void setGroup(String group) {
        this.group = group;
    }

    public Metadata getMetadata() {
        return metadata;
    }

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

    public String getCurrentManufacturingDefaultConfigurationBootMode() {
        return currentManufacturingDefaultConfigurationBootMode;
    }

    public void setCurrentManufacturingDefaultConfigurationBootMode(
        String currentManufacturingDefaultConfigurationBootMode) {
        this.currentManufacturingDefaultConfigurationBootMode = currentManufacturingDefaultConfigurationBootMode;
    }

    public String getCurrentPowerOnSide() {
        return currentPowerOnSide;
    }

    public void setCurrentPowerOnSide(String currentPowerOnSide) {
        this.currentPowerOnSide = currentPowerOnSide;
    }

    public String getCurrentSystemKeylock() {
        return currentSystemKeylock;
    }

    public void setCurrentSystemKeylock(String currentSystemKeylock) {
        this.currentSystemKeylock = currentSystemKeylock;
    }

    public String getMajorBootType() {
        return majorBootType;
    }

    public void setMajorBootType(String majorBootType) {
        this.majorBootType = majorBootType;
    }

    public String getMinorBootType() {
        return minorBootType;
    }

    public void setMinorBootType(String minorBootType) {
        this.minorBootType = minorBootType;
    }

    public String getPendingManufacturingDefaultConfigurationBootMode() {
        return pendingManufacturingDefaultConfigurationBootMode;
    }

    public void setPendingManufacturingDefaultConfigurationBootMode(
        String pendingManufacturingDefaultConfigurationBootMode) {
        this.pendingManufacturingDefaultConfigurationBootMode = pendingManufacturingDefaultConfigurationBootMode;
    }

    public String getPendingPowerOnSide() {
        return pendingPowerOnSide;
    }

    public void setPendingPowerOnSide(String pendingPowerOnSide) {
        this.pendingPowerOnSide = pendingPowerOnSide;
    }

    public String getPendingSystemKeylock() {
        return pendingSystemKeylock;
    }

    public void setPendingSystemKeylock(String pendingSystemKeylock) {
        this.pendingSystemKeylock = pendingSystemKeylock;
    }

    public String getPowerOnLogicalPartitionStartPolicy() {
        return powerOnLogicalPartitionStartPolicy;
    }

    public void setPowerOnLogicalPartitionStartPolicy(String powerOnLogicalPartitionStartPolicy) {
        this.powerOnLogicalPartitionStartPolicy = powerOnLogicalPartitionStartPolicy;
    }

    public String getPowerOnOption() {
        return powerOnOption;
    }

    public void setPowerOnOption(String powerOnOption) {
        this.powerOnOption = powerOnOption;
    }

    public String getPowerOnSpeed() {
        return powerOnSpeed;
    }

    public void setPowerOnSpeed(String powerOnSpeed) {
        this.powerOnSpeed = powerOnSpeed;
    }

    public String getPowerOnSpeedOverride() {
        return powerOnSpeedOverride;
    }

    public void setPowerOnSpeedOverride(String powerOnSpeedOverride) {
        this.powerOnSpeedOverride = powerOnSpeedOverride;
    }

    public String getPowerOffWhenLastLogicalPartitionIsShutdown() {
        return powerOffWhenLastLogicalPartitionIsShutdown;
    }

    public CurrentManufacturingDefaultConfigurationSource getCurrentManufacturingDefaultConfigurationSource() {
        return currentManufacturingDefaultConfigurationSource;
    }

    public void setCurrentManufacturingDefaultConfigurationSource(CurrentManufacturingDefaultConfigurationSource currentManufacturingDefaultConfigurationSource) {
        this.currentManufacturingDefaultConfigurationSource = currentManufacturingDefaultConfigurationSource;
    }

    public PendingManufacturingDefaultConfigurationSource getPendingManufacturingDefaultConfigurationSource() {
        return pendingManufacturingDefaultConfigurationSource;
    }

    public void setPendingManufacturingDefaultConfigurationSource(PendingManufacturingDefaultConfigurationSource pendingManufacturingDefaultConfigurationSource) {
        this.pendingManufacturingDefaultConfigurationSource = pendingManufacturingDefaultConfigurationSource;
    }

    public PendingPowerOnLogicalPartitionStartPolicy getPendingPowerOnLogicalPartitionStartPolicy() {
        return pendingPowerOnLogicalPartitionStartPolicy;
    }

    public void setPendingPowerOnLogicalPartitionStartPolicy(PendingPowerOnLogicalPartitionStartPolicy pendingPowerOnLogicalPartitionStartPolicy) {
        this.pendingPowerOnLogicalPartitionStartPolicy = pendingPowerOnLogicalPartitionStartPolicy;
    }

    public PowerOnSource getPowerOnSource() {
        return powerOnSource;
    }

    public void setPowerOnSource(PowerOnSource powerOnSource) {
        this.powerOnSource = powerOnSource;
    }

    public void setPowerOffWhenLastLogicalPartitionIsShutdown(String powerOffWhenLastLogicalPartitionIsShutdown) {
        this.powerOffWhenLastLogicalPartitionIsShutdown = powerOffWhenLastLogicalPartitionIsShutdown;
    }

    @Override
    public String toString() {
        return "AssociatedIPLConfiguration [metadata=" + metadata
            + ", currentManufacturingDefaultConfigurationBootMode="
            + currentManufacturingDefaultConfigurationBootMode + ", currentPowerOnSide=" + currentPowerOnSide
            + ", currentSystemKeylock=" + currentSystemKeylock + ", majorBootType=" + majorBootType
            + ", minorBootType=" + minorBootType + ", pendingManufacturingDefaultConfigurationBootMode="
            + pendingManufacturingDefaultConfigurationBootMode + ", pendingPowerOnSide=" + pendingPowerOnSide
            + ", pendingSystemKeylock=" + pendingSystemKeylock + ", powerOnLogicalPartitionStartPolicy="
            + powerOnLogicalPartitionStartPolicy + ", powerOnOption=" + powerOnOption + ", powerOnSpeed="
            + powerOnSpeed + ", powerOnSpeedOverride=" + powerOnSpeedOverride
            + ", powerOffWhenLastLogicalPartitionIsShutdown=" + powerOffWhenLastLogicalPartitionIsShutdown
            + ", currentManufacturingDefaultConfigurationSource=" + currentManufacturingDefaultConfigurationSource
            + ", pendingManufacturingDefaultConfigurationSource=" + pendingManufacturingDefaultConfigurationSource
            + ", pendingPowerOnLogicalPartitionStartPolicy=" + pendingPowerOnLogicalPartitionStartPolicy
            + ", powerOnSource=" + powerOnSource + "]";
    }
}
