/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.db.client.model;
import com.emc.storageos.model.valid.EnumType;
/**
* PhysicalNAS Server will contain the details of NAS server depending on StorageArray type
* e.g. DataMover.
* It will hold information about the IP interfaces, CIFS Server & NFS servers mapped to NasServer
*
* @author ganeso
*
*/
@Cf("PhysicalNAS")
public class PhysicalNAS extends NASServer {
// Placeholder for storing list of Physical NAS servers
private StringSet containedVirtualNASservers;
@Name("containedVirtualNASServers")
public StringSet getContainedVirtualNASservers() {
return containedVirtualNASservers;
}
public void setContainedVirtualNASservers(StringSet containedVirtualNASservers) {
this.containedVirtualNASservers = containedVirtualNASservers;
setChanged("containedVirtualNASservers");
}
// Defines different States of the Physical NAS server.
public static enum NasState {
Active("Active"),
Passive("Passive"),
UNKNOWN("N/A");
private final String nasState;
private NasState(String state) {
nasState = state;
}
public String getNasState() {
return nasState;
}
private static NasState[] copyValues = values();
public static String getNasState(String name) {
for (NasState type : copyValues) {
if (type.getNasState().equalsIgnoreCase(name)) {
return type.name();
}
}
return UNKNOWN.toString();
}
};
@EnumType(NasState.class)
@Name("pNasState")
public String getPNasState() {
return this.getNasState();
}
public void setPNasState(String nasState) {
this.setNasState(nasState);
setChanged("pNasState");
}
}