/* * Copyright (c) 2008-2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.model.vpool; import org.codehaus.jackson.annotate.JsonProperty; import javax.xml.bind.annotation.XmlElement; import java.util.HashSet; import java.util.Set; /** * Class captures a list of Raid Levels to set or update in a virtual pool. */ public class RaidLevelAssignments { private Set<String> raidLevels; /** * Default Constructor. */ public RaidLevelAssignments() { } public RaidLevelAssignments(Set<String> raidLevels) { this.raidLevels = raidLevels; } /** * The RAID levels for storage allocated to your volumes. * RAID levels set the amount of redundancy and striping. * Here is a quick definition of the various RAID levels. * * RAID 0 is a striped set of disks without parity. * RAID 1 is a mirror copy on two disks. * RAID 2 is a stripe at the bit level rather than the block level. Rarely used or supported. * RAID 3 is a byte level striping with a dedicated parity disk. * RAID 4 is block level striping with a dedicated parity disk. * RAID 5 is block level striping with the parity data distributed across all disks. * RAID 6 extends RAID 5 by adding an additional parity block; * thus it uses block level striping with two parity blocks. * RAID 10 is a stripe of mirrors, i.e. a RAID 0 combination of RAID 1 drives. * Valid values: * RAID0 * RAID1 * RAID2 * RAID3 * RAID4 * RAID5 * RAID6 * RAID10 */ @XmlElement(name = "raid_levels") @JsonProperty("raid_level") public Set<String> getRaidLevels() { if (raidLevels == null) { raidLevels = new HashSet<String>(); } return raidLevels; } public void setRaidLevels(Set<String> raidLevels) { this.raidLevels = raidLevels; } }