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

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

import java.util.List;

public class AssociatedSystemMemoryConfiguration {
    private String schemaVersion;
    private Metadata metadata;
    private List<String> allowedHardwarePageTableRations;
    private String allowedMemoryRegionSize;
    private String availableBarrierSynchronizationRegisterArrays;
    private String barrierSynchronizationRegisterArraySize;
    private String configurableHugePages;
    private String configurableSystemMemory;
    private String currentAvailableHugePages;
    private String currentAvailableSystemMemory;
    private String currentLogicalMemoryBlockSize;
    private DeconfiguredSystemMemory deconfiguredSystemMemory;
    private String defaultHardwarePageTableRatio;
    private String defaultHardwarePagingTableRatioForDedicatedMemoryPartition;
    private String hugePageCount;
    private String hugePageSize;
    private String installedSystemMemory;
    private String maximumHugePages;
    private String maximumMemoryPoolCount;
    private String maximumPagingVirtualIOServersPerSharedMemoryPool;
    private String memoryMirroringState;
    private String memoryRegionSize;
    private String memoryUsedByHypervisor;
    private String pendingAvailableHugePages;
    private String pendingAvailableSystemMemory;
    private String pendingLogicalMemoryBlockSize;
    private String pendingMemoryRegionSize;
    private String requestedHugePages;
    private TemporaryMemoryForLogicalPartitionMobilityInUse temporaryMemoryForLogicalPartitionMobilityInUse;
    private String totalBarrierSynchronizationRegisterArrays;

    public AssociatedSystemMemoryConfiguration() {
    }

    public Metadata getMetadata() {
        return metadata;
    }

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

    public List<String> getAllowedHardwarePageTableRations() {
        return allowedHardwarePageTableRations;
    }

    public void setAllowedHardwarePageTableRations(List<String> allowedHardwarePageTableRations) {
        this.allowedHardwarePageTableRations = allowedHardwarePageTableRations;
    }

    public String getAllowedMemoryRegionSize() {
        return allowedMemoryRegionSize;
    }

    public void setAllowedMemoryRegionSize(String allowedMemoryRegionSize) {
        this.allowedMemoryRegionSize = allowedMemoryRegionSize;
    }

    public String getAvailableBarrierSynchronizationRegisterArrays() {
        return availableBarrierSynchronizationRegisterArrays;
    }

    public void setAvailableBarrierSynchronizationRegisterArrays(String availableBarrierSynchronizationRegisterArrays) {
        this.availableBarrierSynchronizationRegisterArrays = availableBarrierSynchronizationRegisterArrays;
    }

    public String getBarrierSynchronizationRegisterArraySize() {
        return barrierSynchronizationRegisterArraySize;
    }

    public void setBarrierSynchronizationRegisterArraySize(String barrierSynchronizationRegisterArraySize) {
        this.barrierSynchronizationRegisterArraySize = barrierSynchronizationRegisterArraySize;
    }

    public String getConfigurableHugePages() {
        return configurableHugePages;
    }

    public void setConfigurableHugePages(String configurableHugePages) {
        this.configurableHugePages = configurableHugePages;
    }

    public String getConfigurableSystemMemory() {
        return configurableSystemMemory;
    }

    public void setConfigurableSystemMemory(String configurableSystemMemory) {
        this.configurableSystemMemory = configurableSystemMemory;
    }

    public String getCurrentAvailableHugePages() {
        return currentAvailableHugePages;
    }

    public void setCurrentAvailableHugePages(String currentAvailableHugePages) {
        this.currentAvailableHugePages = currentAvailableHugePages;
    }

    public String getCurrentAvailableSystemMemory() {
        return currentAvailableSystemMemory;
    }

    public void setCurrentAvailableSystemMemory(String currentAvailableSystemMemory) {
        this.currentAvailableSystemMemory = currentAvailableSystemMemory;
    }

    public String getCurrentLogicalMemoryBlockSize() {
        return currentLogicalMemoryBlockSize;
    }

    public void setCurrentLogicalMemoryBlockSize(String currentLogicalMemoryBlockSize) {
        this.currentLogicalMemoryBlockSize = currentLogicalMemoryBlockSize;
    }

    public DeconfiguredSystemMemory getDeconfiguredSystemMemory() {
        return deconfiguredSystemMemory;
    }

    public void setDeconfiguredSystemMemory(DeconfiguredSystemMemory deconfiguredSystemMemory) {
        this.deconfiguredSystemMemory = deconfiguredSystemMemory;
    }

    public String getDefaultHardwarePageTableRatio() {
        return defaultHardwarePageTableRatio;
    }

    public void setDefaultHardwarePageTableRatio(String defaultHardwarePageTableRatio) {
        this.defaultHardwarePageTableRatio = defaultHardwarePageTableRatio;
    }

    public String getDefaultHardwarePagingTableRatioForDedicatedMemoryPartition() {
        return defaultHardwarePagingTableRatioForDedicatedMemoryPartition;
    }

    public void setDefaultHardwarePagingTableRatioForDedicatedMemoryPartition(
        String defaultHardwarePagingTableRatioForDedicatedMemoryPartition) {
        this.defaultHardwarePagingTableRatioForDedicatedMemoryPartition = defaultHardwarePagingTableRatioForDedicatedMemoryPartition;
    }

    public String getHugePageCount() {
        return hugePageCount;
    }

    public void setHugePageCount(String hugePageCount) {
        this.hugePageCount = hugePageCount;
    }

    public String getHugePageSize() {
        return hugePageSize;
    }

    public void setHugePageSize(String hugePageSize) {
        this.hugePageSize = hugePageSize;
    }

    public String getInstalledSystemMemory() {
        return installedSystemMemory;
    }

    public void setInstalledSystemMemory(String installedSystemMemory) {
        this.installedSystemMemory = installedSystemMemory;
    }

    public String getMaximumHugePages() {
        return maximumHugePages;
    }

    public void setMaximumHugePages(String maximumHugePages) {
        this.maximumHugePages = maximumHugePages;
    }

    public String getMaximumMemoryPoolCount() {
        return maximumMemoryPoolCount;
    }

    public void setMaximumMemoryPoolCount(String maximumMemoryPoolCount) {
        this.maximumMemoryPoolCount = maximumMemoryPoolCount;
    }

    public String getMaximumPagingVirtualIOServersPerSharedMemoryPool() {
        return maximumPagingVirtualIOServersPerSharedMemoryPool;
    }

    public void setMaximumPagingVirtualIOServersPerSharedMemoryPool(
        String maximumPagingVirtualIOServersPerSharedMemoryPool) {
        this.maximumPagingVirtualIOServersPerSharedMemoryPool = maximumPagingVirtualIOServersPerSharedMemoryPool;
    }

    public String getMemoryMirroringState() {
        return memoryMirroringState;
    }

    public void setMemoryMirroringState(String memoryMirroringState) {
        this.memoryMirroringState = memoryMirroringState;
    }

    public String getMemoryRegionSize() {
        return memoryRegionSize;
    }

    public void setMemoryRegionSize(String memoryRegionSize) {
        this.memoryRegionSize = memoryRegionSize;
    }

    public String getMemoryUsedByHypervisor() {
        return memoryUsedByHypervisor;
    }

    public void setMemoryUsedByHypervisor(String memoryUsedByHypervisor) {
        this.memoryUsedByHypervisor = memoryUsedByHypervisor;
    }

    public String getPendingAvailableHugePages() {
        return pendingAvailableHugePages;
    }

    public void setPendingAvailableHugePages(String pendingAvailableHugePages) {
        this.pendingAvailableHugePages = pendingAvailableHugePages;
    }

    public String getPendingAvailableSystemMemory() {
        return pendingAvailableSystemMemory;
    }

    public void setPendingAvailableSystemMemory(String pendingAvailableSystemMemory) {
        this.pendingAvailableSystemMemory = pendingAvailableSystemMemory;
    }

    public String getPendingLogicalMemoryBlockSize() {
        return pendingLogicalMemoryBlockSize;
    }

    public void setPendingLogicalMemoryBlockSize(String pendingLogicalMemoryBlockSize) {
        this.pendingLogicalMemoryBlockSize = pendingLogicalMemoryBlockSize;
    }

    public String getPendingMemoryRegionSize() {
        return pendingMemoryRegionSize;
    }

    public void setPendingMemoryRegionSize(String pendingMemoryRegionSize) {
        this.pendingMemoryRegionSize = pendingMemoryRegionSize;
    }

    public String getRequestedHugePages() {
        return requestedHugePages;
    }

    public void setRequestedHugePages(String requestedHugePages) {
        this.requestedHugePages = requestedHugePages;
    }

    public TemporaryMemoryForLogicalPartitionMobilityInUse getTemporaryMemoryForLogicalPartitionMobilityInUse() {
        return temporaryMemoryForLogicalPartitionMobilityInUse;
    }

    public void setTemporaryMemoryForLogicalPartitionMobilityInUse(
        TemporaryMemoryForLogicalPartitionMobilityInUse temporaryMemoryForLogicalPartitionMobilityInUse) {
        this.temporaryMemoryForLogicalPartitionMobilityInUse = temporaryMemoryForLogicalPartitionMobilityInUse;
    }

    public String getTotalBarrierSynchronizationRegisterArrays() {
        return totalBarrierSynchronizationRegisterArrays;
    }

    public void setTotalBarrierSynchronizationRegisterArrays(String totalBarrierSynchronizationRegisterArrays) {
        this.totalBarrierSynchronizationRegisterArrays = totalBarrierSynchronizationRegisterArrays;
    }

    @Override
    public String toString() {
        return "AssociatedSystemMemoryConfiguration [allowedMemoryRegionSize=" + allowedMemoryRegionSize
            + ", availableBarrierSynchronizationRegisterArrays=" + availableBarrierSynchronizationRegisterArrays
            + ", barrierSynchronizationRegisterArraySize=" + barrierSynchronizationRegisterArraySize
            + ", configurableHugePages=" + configurableHugePages + ", configurableSystemMemory="
            + configurableSystemMemory + ", currentAvailableHugePages=" + currentAvailableHugePages
            + ", currentAvailableSystemMemory=" + currentAvailableSystemMemory + ", currentLogicalMemoryBlockSize="
            + currentLogicalMemoryBlockSize + ", deconfiguredSystemMemory=" + deconfiguredSystemMemory
            + ", defaultHardwarePageTableRatio=" + defaultHardwarePageTableRatio
            + ", defaultHardwarePagingTableRatioForDedicatedMemoryPartition="
            + defaultHardwarePagingTableRatioForDedicatedMemoryPartition + ", hugePageCount=" + hugePageCount
            + ", hugePageSize=" + hugePageSize + ", installedSystemMemory=" + installedSystemMemory
            + ", maximumHugePages=" + maximumHugePages + ", maximumMemoryPoolCount=" + maximumMemoryPoolCount
            + ", maximumPagingVirtualIOServersPerSharedMemoryPool="
            + maximumPagingVirtualIOServersPerSharedMemoryPool + ", memoryMirroringState=" + memoryMirroringState
            + ", memoryRegionSize=" + memoryRegionSize + ", memoryUsedByHypervisor=" + memoryUsedByHypervisor
            + ", pendingAvailableHugePages=" + pendingAvailableHugePages + ", pendingAvailableSystemMemory="
            + pendingAvailableSystemMemory + ", pendingLogicalMemoryBlockSize=" + pendingLogicalMemoryBlockSize
            + ", pendingMemoryRegionSize=" + pendingMemoryRegionSize + ", requestedHugePages=" + requestedHugePages
            + ", temporaryMemoryForLogicalPartitionMobilityInUse=" + temporaryMemoryForLogicalPartitionMobilityInUse
            + ", totalBarrierSynchronizationRegisterArrays=" + totalBarrierSynchronizationRegisterArrays + "]";
    }
}
