/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.model.application;
import java.util.HashSet;
import java.util.Set;
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;
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name = "volume_group")
public class VolumeGroupRestRep extends DataObjectRestRep {
private String description;
private Set<String> roles;
private RelatedResourceRep parent;
private String migrationType;
private String migrationGroupBy;
private Set<String> replicationGroupNames;
private Set<NamedRelatedResourceRep> virtualArrays;
@XmlElement
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@XmlElementWrapper(name = "roles")
/**
* Roles of the volume group
*
*/
@XmlElement(name = "role")
public Set<String> getRoles() {
if (roles == null) {
roles = new HashSet<String>();
}
return roles;
}
public void setRoles(Set<String> roles) {
this.roles = roles;
}
/**
* Related parent volume group
*
*/
@XmlElement(name = "parent")
@JsonProperty("parent")
public RelatedResourceRep getParent() {
return parent;
}
public void setParent(RelatedResourceRep parent) {
this.parent = parent;
}
/**
* Migration type for the mobility group
*
* @return migration type
*/
@XmlElement(name = "migrationType")
public String getMigrationType() {
return migrationType;
}
public void setMigrationType(String migrationType) {
this.migrationType = migrationType;
}
/**
* Migration group by type for the mobility group
*
* @return migration group by
*/
@XmlElement(name = "migrationGroupBy")
public String getMigrationGroupBy() {
return migrationGroupBy;
}
public void setMigrationGroupBy(String migrationGroupBy) {
this.migrationGroupBy = migrationGroupBy;
}
/**
* @return the replicationGroupNames
*/
@XmlElementWrapper(name = "replication_group_names")
@XmlElement(name = "replication_group_name")
public Set<String> getReplicationGroupNames() {
if (replicationGroupNames == null) {
replicationGroupNames = new HashSet<String>();
}
return replicationGroupNames;
}
/**
* @param replicationGroupNames the replicationGroupNames to set
*/
public void setReplicationGroupNames(Set<String> replicationGroupNames) {
this.replicationGroupNames = replicationGroupNames;
}
/**
* @return the virtualArrays
*/
@XmlElementWrapper(name = "virtual_arrays")
@XmlElement(name = "virtual_array")
public Set<NamedRelatedResourceRep> getVirtualArrays() {
return virtualArrays;
}
/**
* @param virtualArrays the virtualArrays to set
*/
public void setVirtualArrays(Set<NamedRelatedResourceRep> virtualArrays) {
this.virtualArrays = virtualArrays;
}
}