@Override
public Response doImport(Action action) {
validateParameters(action, "storageDomain.id|name");
Guid destStorageDomainId = getDestStorageDomainId(action);
Guid clusterId = null;
if (action.isSetCluster()) {
clusterId = getClusterId(action);
}
ImportVmParameters params = new ImportVmParameters(getEntity(),
parent.getStorageDomainId(),
destStorageDomainId,
parent.getDataCenterId(destStorageDomainId),
clusterId);
params.setImageToDestinationDomainMap(getDiskToDestinationMap(action));
params.setForceOverride(action.isSetExclusive() ? action.isExclusive() : false);
boolean collapseSnapshots = ParametersHelper.getBooleanParameter(httpHeaders, uriInfo, COLLAPSE_SNAPSHOTS, true, false);
if (collapseSnapshots) {
params.setCopyCollapse(collapseSnapshots);
}
setVolumesTypeFormat(action);
if (action.isSetClone()) {
params.setImportAsNewEntity(action.isClone());
if (action.isSetVm() && action.getVm().isSetName()) {
params.getVm().setName(action.getVm().getName());
}
}
return doAction(ActionType.ImportVm, params, action);
}