private RunVmOnceParams createRunVmOnceParams(Vm vm, boolean volatileRun) {
VM entity = getEntity(entityType, QueryType.GetVmByVmId, new IdQueryParameters(guid), id, true);
RunVmOnceParams params = map(vm, map(map(entity, new Vm()),
new RunVmOnceParams(guid)));
if (vm.isSetPlacementPolicy()) {
Set<Guid> hostsGuidsSet = parent.validateAndUpdateHostsInPlacementPolicy(vm.getPlacementPolicy());
if (hostsGuidsSet.size() > 0) {
params.setDestinationVdsId(hostsGuidsSet.iterator().next());
}
}
if (vm.isSetInitialization()) {
if (vm.getInitialization().isSetCloudInit()) {
params.setInitializationType(InitializationType.CloudInit);
}
params.setVmInit(InitializationMapper.map(vm.getInitialization(), entity.getVmInit()));
}
params.setVolatileRun(volatileRun);
return params;
}