/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.model.vpool; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import org.codehaus.jackson.annotate.JsonProperty; import com.emc.storageos.model.DataObjectRestRep; import com.emc.storageos.model.NamedRelatedResourceRep; import com.emc.storageos.model.RelatedResourceRep; @XmlRootElement(name = "compute_vpool") @XmlAccessorType(XmlAccessType.PROPERTY) public class ComputeVirtualPoolRestRep extends DataObjectRestRep { private String description; private String systemType; private List<RelatedResourceRep> matchedComputeElements; private List<RelatedResourceRep> availableMatchedComputeElements; private Boolean inUse; private Integer minProcessors; private Integer maxProcessors; private Integer minTotalCores; private Integer maxTotalCores; private Integer minTotalThreads; private Integer maxTotalThreads; private Integer minCpuSpeed; private Integer maxCpuSpeed; private Integer minMemory; private Integer maxMemory; private Integer minNics; private Integer maxNics; private Integer minHbas; private Integer maxHbas; private List<RelatedResourceRep> varrays; private Boolean useMatchedElements; private List<NamedRelatedResourceRep> serviceProfileTemplates; public ComputeVirtualPoolRestRep() { } /** * * User defined description for this virtual pool. * */ @XmlElement public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } /** * The supported system type for the virtual pool. * Valid values: * Cisco_UCSM * Cisco_CSeries * Generic * * * @return The system type. */ @XmlElement(name = "system_type") public String getSystemType() { return systemType; } public void setSystemType(String systemType) { this.systemType = systemType; } @XmlElementWrapper(name = "matched_compute_elements") /** * Set of compute elements which have attributes that match the criteria for * selecting the auto-generated list of compute elements. * */ @XmlElement(name = "compute_element") public List<RelatedResourceRep> getMatchedComputeElements() { if (matchedComputeElements == null) { matchedComputeElements = new ArrayList<RelatedResourceRep>(); } return matchedComputeElements; } public void setMatchedComputeElements(List<RelatedResourceRep> matchedComputeElements) { this.matchedComputeElements = matchedComputeElements; } @XmlElementWrapper(name = "available_matched_compute_elements") /** * Set of compute elements which have attributes that match the criteria for * selecting the auto-generated list of compute elements, and are available * */ @XmlElement(name = "compute_element") public List<RelatedResourceRep> getAvailableMatchedComputeElements() { if (availableMatchedComputeElements == null) { availableMatchedComputeElements = new ArrayList<RelatedResourceRep>(); } return availableMatchedComputeElements; } public void setAvailableMatchedComputeElements(List<RelatedResourceRep> availableMatchedComputeElements) { this.availableMatchedComputeElements = availableMatchedComputeElements; } /** * Minimum Number of processors supported by this virtual pool. * */ @XmlElement(name = "min_processors") public Integer getMinProcessors() { return minProcessors; } public void setMinProcessors(Integer minProcessors) { this.minProcessors = minProcessors; } /** * Maximum Number of processors supported by this virtual pool. * */ @XmlElement(name = "max_processors") public Integer getMaxProcessors() { return maxProcessors; } public void setMaxProcessors(Integer maxProcessors) { this.maxProcessors = maxProcessors; } /** * Minimum Number of cores supported by this virtual pool. * */ @XmlElement(name = "min_total_cores") public Integer getMinTotalCores() { return minTotalCores; } public void setMinTotalCores(Integer minTotalCores) { this.minTotalCores = minTotalCores; } /** * Maximum Number of cores supported by this virtual pool. * */ @XmlElement(name = "max_total_cores") public Integer getMaxTotalCores() { return maxTotalCores; } public void setMaxTotalCores(Integer maxTotalCores) { this.maxTotalCores = maxTotalCores; } /** * Minimum Number of threads supported by this virtual pool. * */ @XmlElement(name = "min_total_threads") public Integer getMinTotalThreads() { return minTotalThreads; } public void setMinTotalThreads(Integer minTotalThreads) { this.minTotalThreads = minTotalThreads; } /** * Maximum Number of threads supported by this virtual pool. * */ @XmlElement(name = "max_total_threads") public Integer getMaxTotalThreads() { return maxTotalThreads; } public void setMaxTotalThreads(Integer maxTotalThreads) { this.maxTotalThreads = maxTotalThreads; } /** * Minimum CPU speed supported by this virtual pool. * */ @XmlElement(name = "min_cpu_speed") public Integer getMinCpuSpeed() { return minCpuSpeed; } public void setMinCpuSpeed(Integer minCpuSpeed) { this.minCpuSpeed = minCpuSpeed; } /** * Maximum CPU speed supported by this virtual pool. * */ @XmlElement(name = "max_cpu_speed") public Integer getMaxCpuSpeed() { return maxCpuSpeed; } public void setMaxCpuSpeed(Integer maxCpuSpeed) { this.maxCpuSpeed = maxCpuSpeed; } /** * Minimum memory supported by this virtual pool. * */ @XmlElement(name = "min_memory") public Integer getMinMemory() { return minMemory; } public void setMinMemory(Integer minMemory) { this.minMemory = minMemory; } /** * Maximum memory supported by this virtual pool. * */ @XmlElement(name = "max_memory") public Integer getMaxMemory() { return maxMemory; } public void setMaxMemory(Integer maxMemory) { this.maxMemory = maxMemory; } /** * Minimum number of NICs supported by this virtual pool. * */ @XmlElement(name = "min_nics") public Integer getMinNics() { return minNics; } public void setMinNics(Integer minNics) { this.minNics = minNics; } /** * Maximum number of NICs supported by this virtual pool. * */ @XmlElement(name = "max_nics") public Integer getMaxNics() { return maxNics; } public void setMaxNics(Integer maxNics) { this.maxNics = maxNics; } /** * Minimum number of HBAs supported by this virtual pool. * */ @XmlElement(name = "min_hbas") public Integer getMinHbas() { return minHbas; } public void setMinHbas(Integer minHbas) { this.minHbas = minHbas; } /** * Maximum number of HBAs supported by this virtual pool. * */ @XmlElement(name = "max_hbas") public Integer getMaxHbas() { return maxHbas; } public void setMaxHbas(Integer maxHbas) { this.maxHbas = maxHbas; } @XmlElementWrapper(name = "varrays") /** * The virtual arrays assigned to this virtual pool. * */ @XmlElement(name = "varray") @JsonProperty("varrays") public List<RelatedResourceRep> getVirtualArrays() { if (varrays == null) { return varrays = new ArrayList<RelatedResourceRep>(); } return varrays; } public void setVirtualArrays(List<RelatedResourceRep> varrays) { this.varrays = varrays; } /** * Determines if matched or valid assigned compute elements are returned from * command to retrieve the list of compute elements. * */ @XmlElement(name = "use_matched_elements") public Boolean getUseMatchedElements() { return useMatchedElements; } public void setUseMatchedElements(Boolean useMatchedElements) { this.useMatchedElements = useMatchedElements; } /** * The service profile templates assigned to this virtual pool. * */ @XmlElementWrapper(name = "service_profile_templates") @XmlElement(name = "service_profile_template") public List<NamedRelatedResourceRep> getServiceProfileTemplates() { if (serviceProfileTemplates == null) { return serviceProfileTemplates = new ArrayList<NamedRelatedResourceRep>(); } return serviceProfileTemplates; } public void setServiceProfileTemplates(List<NamedRelatedResourceRep> serviceProfileTemplates) { this.serviceProfileTemplates = serviceProfileTemplates; } /** * Is the compute virtual pool in use * */ @XmlElement(name = "in_use") public Boolean getInUse() { return inUse; } public void setInUse(Boolean inUse) { this.inUse = inUse; } }