/*
* Copyright (c) 2016 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.model.block.export;
import java.net.URI;
import java.util.HashSet;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="block_export_paths_adjustment_preview")
public class ExportPathsAdjustmentPreviewParam {
private URI virtualArray;
private URI storageSystem;
private Set<URI> hosts;
private Boolean useExistingPaths;
private ExportPathParameters exportPathParameters;
@XmlElement(name="path_parameters", required=true)
public ExportPathParameters getExportPathParameters() {
return exportPathParameters;
}
public void setExportPathParameters(ExportPathParameters exportPathParameters) {
this.exportPathParameters = exportPathParameters;
}
/**
* Optional virtual_array parameter. Must match the Export Group virtual array or the
* alternate VPLEX high availability virtual array for the storage system.
*/
@XmlElement(name = "virtual_array", required=false)
public URI getVirtualArray() {
return virtualArray;
}
public void setVirtualArray(URI virtualArray) {
this.virtualArray = virtualArray;
}
/**
* Specifies the storage system whose ports will be reallocated.
*/
@XmlElement(name = "storage_system", required=true)
public URI getStorageSystem() {
return storageSystem;
}
public void setStorageSystem(URI storageSystem) {
this.storageSystem = storageSystem;
}
/**
* If true, the existing paths will be retained, and any additional
* paths made on top of the existing paths. If false, all new export
* paths will be computed.
*/
@XmlElement(name = "use_existing_paths",required=false)
public Boolean getUseExistingPaths() {
if (useExistingPaths == null) {
useExistingPaths = false;
}
return useExistingPaths;
}
public void setUseExistingPaths(Boolean useExistingPaths) {
this.useExistingPaths = useExistingPaths;
}
@XmlElementWrapper(required = false)
/**
* For cluster export, only adjust paths on hosts specified (optional)
*/
@XmlElement(name = "host")
public Set<URI> getHosts() {
if (hosts == null) {
hosts = new HashSet<URI>();
}
return hosts;
}
public void setHosts(Set<URI> hosts) {
this.hosts = hosts;
}
}