/*
* Copyright (c) 2008-2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.model.block;
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 com.emc.storageos.model.DataObjectRestRep;
import com.emc.storageos.model.RelatedResourceRep;
import com.emc.storageos.model.StringHashMapEntry;
import com.emc.storageos.model.adapters.StringSetMapAdapter;
@XmlRootElement(name = "unmanaged_cg")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class UnManagedCGRestRep extends DataObjectRestRep {
/**
* The native GUID of a discovered unmanaged volume which
* has not yet been ingested into ViPR.
*
* @valid none
*/
private String nativeGuid;
/**
* Information about the unmanaged CG.
*
* @valid none
*/
private List<StringSetMapAdapter.Entry> cgInformation;
/**
* Characteristics of the unmanaged CG.
*
* @valid none
*/
private List<StringHashMapEntry> cgCharacteristics;
/**
* Volumess that have been ingested.
*
* @valid none
*/
private List<String> managedVolumeIds;
/**
* Volumes that have not been ingested.
*
* @valid none
*/
private List<String> unManagedVolumeIds;
/**
* Volume WWNs, regardless of system management
*/
private List<String> volumeWwns;
/**
* Name of RecoverPoint consistency group
*/
private String cgName;
/**
* The protection system to which this CG belongs.
*
* @valid none
*/
private RelatedResourceRep protectionSystem;
@XmlElement(name = "native_guid")
public String getNativeGuid() {
return nativeGuid;
}
public void setNativeGuid(String nativeGuid) {
this.nativeGuid = nativeGuid;
}
@XmlElement(name = "protection_system")
public RelatedResourceRep getProtectionSystem() {
return protectionSystem;
}
public void setProtectionSystem(RelatedResourceRep protectionSystem) {
this.protectionSystem = protectionSystem;
}
@XmlElementWrapper(name = "unmanaged_cgs_characterstics")
@XmlElement(name = "unmanaged_cg_characterstic")
public List<StringHashMapEntry> getCGCharacteristics() {
if (cgCharacteristics == null) {
cgCharacteristics = new ArrayList<StringHashMapEntry>();
}
return cgCharacteristics;
}
public void setCGCharacteristics(List<StringHashMapEntry> cgCharacteristics) {
this.cgCharacteristics = cgCharacteristics;
}
@XmlElementWrapper(name = "unmanaged_cgs_info")
@XmlElement(name = "unmanaged_cg_info")
public List<StringSetMapAdapter.Entry> getCGInformation() {
if (cgInformation == null) {
cgInformation = new ArrayList<StringSetMapAdapter.Entry>();
}
return cgInformation;
}
public void setCGInformation(List<StringSetMapAdapter.Entry> cgInformation) {
this.cgInformation = cgInformation;
}
@XmlElementWrapper(name = "unmanaged_volumes")
@XmlElement(name = "unmanaged_volume")
public List<String> getUnManagedVolumeUris() {
if (unManagedVolumeIds == null) {
unManagedVolumeIds = new ArrayList<String>();
}
return unManagedVolumeIds;
}
public void setUnManagedVolumeUris(List<String> unManagedVolumeUris) {
this.unManagedVolumeIds = unManagedVolumeUris;
}
@XmlElementWrapper(name = "managed_volumes")
@XmlElement(name = "managed_volume")
public List<String> getManagedVolumeUris() {
if (managedVolumeIds == null) {
managedVolumeIds = new ArrayList<String>();
}
return managedVolumeIds;
}
public void setManagedVolumeUris(List<String> managedVolumeUris) {
this.managedVolumeIds = managedVolumeUris;
}
@XmlElementWrapper(name = "volume_wwns")
@XmlElement(name = "volume_wwn")
public List<String> getVolumeWwns() {
if (volumeWwns == null) {
volumeWwns = new ArrayList<String>();
}
return volumeWwns;
}
public void setVolumeWwns(List<String> volumeWwns) {
this.volumeWwns = volumeWwns;
}
public void setCGName(String cgName) {
this.cgName = cgName;
}
@XmlElement(name = "cg_name")
public String getCGName() {
return cgName;
}
}