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

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

import java.util.List;

public class AssociatedSystemProcessorConfiguration {
    private String schemaVersion;
    private Metadata metadata;
    private String configurableSystemProcessorUnits;
    private String currentAvailableSystemProcessorUnits;
    private String currentMaximumProcessorsPerAIXOrLinuxPartition;
    private String currentMaximumProcessorsPerIBMiPartition;
    private String currentMaximumAllowedProcessorsPerPartition;
    private String currentMaximumProcessorsPerVirtualIOServerPartition;
    private String currentMaximumVirtualProcessorsPerAIXOrLinuxPartition;
    private String currentMaximumVirtualProcessorsPerIBMiPartition;
    private String currentMaximumVirtualProcessorsPerVirtualIOServerPartition;
    private DeconfiguredSystemProcessorUnits deconfiguredSystemProcessorUnits;
    private String installedSystemProcessorUnits;
    private String maximumProcessorUnitsPerIBMiPartition;
    private String maximumAllowedVirtualProcessorsPerPartition;
    private String minimumProcessorUnitsPerVirtualProcessor;
    private String pendingAvailableSystemProcessorUnits;
    private String sharedProcessorPoolCount;
    private List<String> supportedPartitionProcessorCompatibilityModes;
    private TemporaryProcessorUnitsForLogicalPartitionMobilityInUse temporaryProcessorUnitsForLogicalPartitionMobilityInUse;
    private String sharedProcessorPool;

    public AssociatedSystemProcessorConfiguration() {
    }

    public Metadata getMetadata() {
        return metadata;
    }

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

    public String getConfigurableSystemProcessorUnits() {
        return configurableSystemProcessorUnits;
    }

    public void setConfigurableSystemProcessorUnits(String configurableSystemProcessorUnits) {
        this.configurableSystemProcessorUnits = configurableSystemProcessorUnits;
    }

    public String getCurrentAvailableSystemProcessorUnits() {
        return currentAvailableSystemProcessorUnits;
    }

    public void setCurrentAvailableSystemProcessorUnits(String currentAvailableSystemProcessorUnits) {
        this.currentAvailableSystemProcessorUnits = currentAvailableSystemProcessorUnits;
    }

    public String getCurrentMaximumProcessorsPerAIXOrLinuxPartition() {
        return currentMaximumProcessorsPerAIXOrLinuxPartition;
    }

    public void setCurrentMaximumProcessorsPerAIXOrLinuxPartition(
        String currentMaximumProcessorsPerAIXOrLinuxPartition) {
        this.currentMaximumProcessorsPerAIXOrLinuxPartition = currentMaximumProcessorsPerAIXOrLinuxPartition;
    }

    public String getCurrentMaximumProcessorsPerIBMiPartition() {
        return currentMaximumProcessorsPerIBMiPartition;
    }

    public void setCurrentMaximumProcessorsPerIBMiPartition(String currentMaximumProcessorsPerIBMiPartition) {
        this.currentMaximumProcessorsPerIBMiPartition = currentMaximumProcessorsPerIBMiPartition;
    }

    public String getCurrentMaximumAllowedProcessorsPerPartition() {
        return currentMaximumAllowedProcessorsPerPartition;
    }

    public void setCurrentMaximumAllowedProcessorsPerPartition(String currentMaximumAllowedProcessorsPerPartition) {
        this.currentMaximumAllowedProcessorsPerPartition = currentMaximumAllowedProcessorsPerPartition;
    }

    public String getCurrentMaximumProcessorsPerVirtualIOServerPartition() {
        return currentMaximumProcessorsPerVirtualIOServerPartition;
    }

    public void setCurrentMaximumProcessorsPerVirtualIOServerPartition(
        String currentMaximumProcessorsPerVirtualIOServerPartition) {
        this.currentMaximumProcessorsPerVirtualIOServerPartition = currentMaximumProcessorsPerVirtualIOServerPartition;
    }

    public String getCurrentMaximumVirtualProcessorsPerAIXOrLinuxPartition() {
        return currentMaximumVirtualProcessorsPerAIXOrLinuxPartition;
    }

    public void setCurrentMaximumVirtualProcessorsPerAIXOrLinuxPartition(
        String currentMaximumVirtualProcessorsPerAIXOrLinuxPartition) {
        this.currentMaximumVirtualProcessorsPerAIXOrLinuxPartition = currentMaximumVirtualProcessorsPerAIXOrLinuxPartition;
    }

    public String getCurrentMaximumVirtualProcessorsPerIBMiPartition() {
        return currentMaximumVirtualProcessorsPerIBMiPartition;
    }

    public void setCurrentMaximumVirtualProcessorsPerIBMiPartition(
        String currentMaximumVirtualProcessorsPerIBMiPartition) {
        this.currentMaximumVirtualProcessorsPerIBMiPartition = currentMaximumVirtualProcessorsPerIBMiPartition;
    }

    public String getCurrentMaximumVirtualProcessorsPerVirtualIOServerPartition() {
        return currentMaximumVirtualProcessorsPerVirtualIOServerPartition;
    }

    public void setCurrentMaximumVirtualProcessorsPerVirtualIOServerPartition(
        String currentMaximumVirtualProcessorsPerVirtualIOServerPartition) {
        this.currentMaximumVirtualProcessorsPerVirtualIOServerPartition = currentMaximumVirtualProcessorsPerVirtualIOServerPartition;
    }

    public DeconfiguredSystemProcessorUnits getDeconfiguredSystemProcessorUnits() {
        return deconfiguredSystemProcessorUnits;
    }

    public void setDeconfiguredSystemProcessorUnits(DeconfiguredSystemProcessorUnits deconfiguredSystemProcessorUnits) {
        this.deconfiguredSystemProcessorUnits = deconfiguredSystemProcessorUnits;
    }

    public String getInstalledSystemProcessorUnits() {
        return installedSystemProcessorUnits;
    }

    public void setInstalledSystemProcessorUnits(String installedSystemProcessorUnits) {
        this.installedSystemProcessorUnits = installedSystemProcessorUnits;
    }

    public String getMaximumProcessorUnitsPerIBMiPartition() {
        return maximumProcessorUnitsPerIBMiPartition;
    }

    public void setMaximumProcessorUnitsPerIBMiPartition(String maximumProcessorUnitsPerIBMiPartition) {
        this.maximumProcessorUnitsPerIBMiPartition = maximumProcessorUnitsPerIBMiPartition;
    }

    public String getMaximumAllowedVirtualProcessorsPerPartition() {
        return maximumAllowedVirtualProcessorsPerPartition;
    }

    public void setMaximumAllowedVirtualProcessorsPerPartition(String maximumAllowedVirtualProcessorsPerPartition) {
        this.maximumAllowedVirtualProcessorsPerPartition = maximumAllowedVirtualProcessorsPerPartition;
    }

    public String getMinimumProcessorUnitsPerVirtualProcessor() {
        return minimumProcessorUnitsPerVirtualProcessor;
    }

    public void setMinimumProcessorUnitsPerVirtualProcessor(String minimumProcessorUnitsPerVirtualProcessor) {
        this.minimumProcessorUnitsPerVirtualProcessor = minimumProcessorUnitsPerVirtualProcessor;
    }

    public String getPendingAvailableSystemProcessorUnits() {
        return pendingAvailableSystemProcessorUnits;
    }

    public void setPendingAvailableSystemProcessorUnits(String pendingAvailableSystemProcessorUnits) {
        this.pendingAvailableSystemProcessorUnits = pendingAvailableSystemProcessorUnits;
    }

    public String getSharedProcessorPoolCount() {
        return sharedProcessorPoolCount;
    }

    public void setSharedProcessorPoolCount(String sharedProcessorPoolCount) {
        this.sharedProcessorPoolCount = sharedProcessorPoolCount;
    }

    public List<String> getSupportedPartitionProcessorCompatibilityModes() {
        return supportedPartitionProcessorCompatibilityModes;
    }

    public void setSupportedPartitionProcessorCompatibilityModes(
        List<String> supportedPartitionProcessorCompatibilityModes) {
        this.supportedPartitionProcessorCompatibilityModes = supportedPartitionProcessorCompatibilityModes;
    }

    public TemporaryProcessorUnitsForLogicalPartitionMobilityInUse getTemporaryProcessorUnitsForLogicalPartitionMobilityInUse() {
        return temporaryProcessorUnitsForLogicalPartitionMobilityInUse;
    }

    public void setTemporaryProcessorUnitsForLogicalPartitionMobilityInUse(
        TemporaryProcessorUnitsForLogicalPartitionMobilityInUse temporaryProcessorUnitsForLogicalPartitionMobilityInUse) {
        this.temporaryProcessorUnitsForLogicalPartitionMobilityInUse = temporaryProcessorUnitsForLogicalPartitionMobilityInUse;
    }

    public String getSharedProcessorPool() {
        return sharedProcessorPool;
    }

    public void setSharedProcessorPool(String sharedProcessorPool) {
        this.sharedProcessorPool = sharedProcessorPool;
    }

    @Override
    public String toString() {
        return "AssociatedSystemProcessorConfiguration [metadata=" + metadata + ", configurableSystemProcessorUnits="
            + configurableSystemProcessorUnits + ", currentAvailableSystemProcessorUnits="
            + currentAvailableSystemProcessorUnits + ", currentMaximumProcessorsPerAIXOrLinuxPartition="
            + currentMaximumProcessorsPerAIXOrLinuxPartition + ", currentMaximumProcessorsPerIBMiPartition="
            + currentMaximumProcessorsPerIBMiPartition + ", currentMaximumAllowedProcessorsPerPartition="
            + currentMaximumAllowedProcessorsPerPartition + ", currentMaximumProcessorsPerVirtualIOServerPartition="
            + currentMaximumProcessorsPerVirtualIOServerPartition
            + ", currentMaximumVirtualProcessorsPerAIXOrLinuxPartition="
            + currentMaximumVirtualProcessorsPerAIXOrLinuxPartition
            + ", currentMaximumVirtualProcessorsPerIBMiPartition=" + currentMaximumVirtualProcessorsPerIBMiPartition
            + ", currentMaximumVirtualProcessorsPerVirtualIOServerPartition="
            + currentMaximumVirtualProcessorsPerVirtualIOServerPartition + ", deconfiguredSystemProcessorUnits="
            + deconfiguredSystemProcessorUnits + ", installedSystemProcessorUnits=" + installedSystemProcessorUnits
            + ", maximumProcessorUnitsPerIBMiPartition=" + maximumProcessorUnitsPerIBMiPartition
            + ", maximumAllowedVirtualProcessorsPerPartition=" + maximumAllowedVirtualProcessorsPerPartition
            + ", minimumProcessorUnitsPerVirtualProcessor=" + minimumProcessorUnitsPerVirtualProcessor
            + ", pendingAvailableSystemProcessorUnits=" + pendingAvailableSystemProcessorUnits
            + ", sharedProcessorPoolCount=" + sharedProcessorPoolCount
            + ", supportedPartitionProcessorCompatibilityModes=" + supportedPartitionProcessorCompatibilityModes
            + ", temporaryProcessorUnitsForLogicalPartitionMobilityInUse="
            + temporaryProcessorUnitsForLogicalPartitionMobilityInUse + ", sharedProcessorPool="
            + sharedProcessorPool + "]";
    }
}
