Search in sources :

Example 11 with VolumeParam

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

the class CreateExport method doExecute.

@Override
protected Task<ExportGroupRestRep> doExecute() throws Exception {
    ExportCreateParam export = new ExportCreateParam();
    export.setName(name);
    export.setVarray(varrayId);
    export.setProject(projectId);
    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++;
        }
        export.getVolumes().add(volume);
    }
    if (clusterId != null) {
        export.addCluster(clusterId);
        export.setType("Cluster");
    } else {
        export.addHost(hostId);
        export.setType("Host");
    }
    // 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().create(export);
}
Also used : ExportCreateParam(com.emc.storageos.model.block.export.ExportCreateParam) VolumeParam(com.emc.storageos.model.block.export.VolumeParam) URI(java.net.URI) ExportPathParameters(com.emc.storageos.model.block.export.ExportPathParameters)

Example 12 with VolumeParam

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

the class CreateExportNoWait method executeTask.

@Override
public Task<ExportGroupRestRep> executeTask() throws Exception {
    ExportCreateParam export = new ExportCreateParam();
    export.setName(name);
    export.setVarray(varrayId);
    export.setProject(projectId);
    Integer currentHlu = hlu;
    for (URI volumeId : volumeIds) {
        VolumeParam volume = new VolumeParam(volumeId);
        if (currentHlu != null) {
            volume.setLun(currentHlu);
        }
        if ((currentHlu != null) && (currentHlu > -1)) {
            currentHlu++;
        }
        export.getVolumes().add(volume);
    }
    if (clusterId != null) {
        export.addCluster(clusterId);
        export.setType("Cluster");
    } else {
        export.addHost(hostId);
        export.setType("Host");
    }
    if (!NullColumnValueGetter.isNullURI(portGroup)) {
        ExportPathParameters exportPathParameters = new ExportPathParameters();
        exportPathParameters.setPortGroup(portGroup);
        export.setExportPathParameters(exportPathParameters);
    }
    Task<ExportGroupRestRep> task = getClient().blockExports().create(export);
    addOrderIdTag(task.getTaskResource().getId());
    return task;
}
Also used : ExportCreateParam(com.emc.storageos.model.block.export.ExportCreateParam) ExportGroupRestRep(com.emc.storageos.model.block.export.ExportGroupRestRep) VolumeParam(com.emc.storageos.model.block.export.VolumeParam) URI(java.net.URI) ExportPathParameters(com.emc.storageos.model.block.export.ExportPathParameters)

Aggregations

VolumeParam (com.emc.storageos.model.block.export.VolumeParam)12 URI (java.net.URI)10 ArrayList (java.util.ArrayList)8 NamedURI (com.emc.storageos.db.client.model.NamedURI)7 ExportPathParameters (com.emc.storageos.model.block.export.ExportPathParameters)6 HashMap (java.util.HashMap)3 BlockObject (com.emc.storageos.db.client.model.BlockObject)2 ExportGroup (com.emc.storageos.db.client.model.ExportGroup)2 OpStatusMap (com.emc.storageos.db.client.model.OpStatusMap)2 Operation (com.emc.storageos.db.client.model.Operation)2 Project (com.emc.storageos.db.client.model.Project)2 StringMap (com.emc.storageos.db.client.model.StringMap)2 StringSetMap (com.emc.storageos.db.client.model.StringSetMap)2 TaskResourceRep (com.emc.storageos.model.TaskResourceRep)2 ExportCreateParam (com.emc.storageos.model.block.export.ExportCreateParam)2 ExportUpdateParam (com.emc.storageos.model.block.export.ExportUpdateParam)2 VolumeUpdateParam (com.emc.storageos.model.block.export.VolumeUpdateParam)2 Map (java.util.Map)2 Consumes (javax.ws.rs.Consumes)2 Produces (javax.ws.rs.Produces)2