Search in sources :

Example 1 with VolumeUpdateParam

use of com.emc.storageos.model.block.export.VolumeUpdateParam in project coprhd-controller by CoprHD.

the class AddHostAndVolumeToExportNoWait method doExecute.

@Override
protected Task<ExportGroupRestRep> doExecute() throws Exception {
    ExportUpdateParam exportUpdateParam = new ExportUpdateParam();
    List<VolumeParam> volumes = new ArrayList<VolumeParam>();
    if (!NullColumnValueGetter.isNullURI(volumeId)) {
        VolumeParam volume = new VolumeParam(volumeId);
        volume.setLun(-1);
        if (hlu != null && !hlu.equals(ExportVMwareBlockVolumeHelper.USE_EXISTING_HLU)) {
            volume.setLun(hlu);
        }
        volumes.add(volume);
        exportUpdateParam.setVolumes(new VolumeUpdateParam(volumes, new ArrayList<URI>()));
    }
    if (!NullColumnValueGetter.isNullURI(hostId)) {
        exportUpdateParam.setHosts(new HostsUpdateParam());
        exportUpdateParam.getHosts().getAdd().add(hostId);
    }
    if (!NullColumnValueGetter.isNullURI(portGroup)) {
        ExportPathParameters exportPathParameters = new ExportPathParameters();
        exportPathParameters.setPortGroup(portGroup);
        exportUpdateParam.setExportPathParameters(exportPathParameters);
    }
    return getClient().blockExports().update(exportId, exportUpdateParam);
}
Also used : VolumeUpdateParam(com.emc.storageos.model.block.export.VolumeUpdateParam) ArrayList(java.util.ArrayList) ExportUpdateParam(com.emc.storageos.model.block.export.ExportUpdateParam) VolumeParam(com.emc.storageos.model.block.export.VolumeParam) ExportPathParameters(com.emc.storageos.model.block.export.ExportPathParameters) HostsUpdateParam(com.emc.storageos.model.block.export.HostsUpdateParam)

Example 2 with VolumeUpdateParam

use of com.emc.storageos.model.block.export.VolumeUpdateParam in project coprhd-controller by CoprHD.

the class AddVolumesToExport method doExecute.

@Override
protected Task<ExportGroupRestRep> doExecute() throws Exception {
    ExportUpdateParam export = new ExportUpdateParam();
    List<VolumeParam> volumes = new ArrayList<VolumeParam>();
    Integer currentHlu = hlu;
    for (URI volumeId : volumeIds) {
        VolumeParam volume = new VolumeParam(volumeId);
        if (currentHlu != null) {
            if (currentHlu.equals(ExportVMwareBlockVolumeHelper.USE_EXISTING_HLU) && volumeHlus != null) {
                Integer volumeHlu = volumeHlus.get(volume.getId());
                if (volumeHlu == null) {
                    volume.setLun(-1);
                } else {
                    volume.setLun(volumeHlu);
                }
            } else {
                volume.setLun(currentHlu);
            }
        }
        if ((currentHlu != null) && (currentHlu > -1)) {
            currentHlu++;
        }
        volumes.add(volume);
    }
    export.setVolumes(new VolumeUpdateParam(volumes, new ArrayList<URI>()));
    // Only add the export path parameters to the call if we have to
    boolean addExportPathParameters = false;
    ExportPathParameters exportPathParameters = new ExportPathParameters();
    if (minPaths != null && maxPaths != null && pathsPerInitiator != null) {
        exportPathParameters.setMinPaths(minPaths);
        exportPathParameters.setMaxPaths(maxPaths);
        exportPathParameters.setPathsPerInitiator(pathsPerInitiator);
        addExportPathParameters = true;
    }
    if (portGroup != null) {
        exportPathParameters.setPortGroup(portGroup);
        addExportPathParameters = true;
    }
    if (addExportPathParameters) {
        export.setExportPathParameters(exportPathParameters);
    }
    return getClient().blockExports().update(exportId, export);
}
Also used : VolumeUpdateParam(com.emc.storageos.model.block.export.VolumeUpdateParam) ArrayList(java.util.ArrayList) ExportUpdateParam(com.emc.storageos.model.block.export.ExportUpdateParam) VolumeParam(com.emc.storageos.model.block.export.VolumeParam) URI(java.net.URI) ExportPathParameters(com.emc.storageos.model.block.export.ExportPathParameters)

Aggregations

ExportPathParameters (com.emc.storageos.model.block.export.ExportPathParameters)2 ExportUpdateParam (com.emc.storageos.model.block.export.ExportUpdateParam)2 VolumeParam (com.emc.storageos.model.block.export.VolumeParam)2 VolumeUpdateParam (com.emc.storageos.model.block.export.VolumeUpdateParam)2 ArrayList (java.util.ArrayList)2 HostsUpdateParam (com.emc.storageos.model.block.export.HostsUpdateParam)1 URI (java.net.URI)1