Search in sources :

Example 11 with ExportUpdateParam

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

the class AddClusterToExport method doExecute.

@Override
protected Task<ExportGroupRestRep> doExecute() throws Exception {
    ExportUpdateParam exportUpdateParam = new ExportUpdateParam();
    exportUpdateParam.setClusters(new ClustersUpdateParam());
    exportUpdateParam.getClusters().getAdd().add(clusterId);
    // 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) {
        exportUpdateParam.setExportPathParameters(exportPathParameters);
    }
    return getClient().blockExports().update(exportId, exportUpdateParam);
}
Also used : ClustersUpdateParam(com.emc.storageos.model.block.export.ClustersUpdateParam) ExportUpdateParam(com.emc.storageos.model.block.export.ExportUpdateParam) ExportPathParameters(com.emc.storageos.model.block.export.ExportPathParameters)

Example 12 with ExportUpdateParam

use of com.emc.storageos.model.block.export.ExportUpdateParam 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 13 with ExportUpdateParam

use of com.emc.storageos.model.block.export.ExportUpdateParam 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

ExportUpdateParam (com.emc.storageos.model.block.export.ExportUpdateParam)13 ExportGroupRestRep (com.emc.storageos.model.block.export.ExportGroupRestRep)8 FlashException (controllers.util.FlashException)8 ViPRCoreClient (com.emc.vipr.client.ViPRCoreClient)5 ExportPathParameters (com.emc.storageos.model.block.export.ExportPathParameters)4 HostsUpdateParam (com.emc.storageos.model.block.export.HostsUpdateParam)4 ClustersUpdateParam (com.emc.storageos.model.block.export.ClustersUpdateParam)3 InitiatorsUpdateParam (com.emc.storageos.model.block.export.InitiatorsUpdateParam)2 VolumeParam (com.emc.storageos.model.block.export.VolumeParam)2 VolumeUpdateParam (com.emc.storageos.model.block.export.VolumeUpdateParam)2 URI (java.net.URI)2 ArrayList (java.util.ArrayList)2