@Override public void execute() throws ResourceUnavailableException, ConcurrentOperationException{ CallContext.current().setEventDetails("Vm Id: "+this._uuidMgr.getUuid(VirtualMachine.class, getId())); UserVm result = _userVmService.destroyVm(this); UserVmResponse response = new UserVmResponse(); if (result != null) { List<UserVmResponse> responses = _responseGenerator.createUserVmResponse(ResponseView.Full, "virtualmachine", result); if (responses != null && !responses.isEmpty()) { response = responses.get(0); } response.setResponseName("virtualmachine"); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to destroy vm"); } } }
@Override public List<VmMetricsResponse> listVmMetrics(List<UserVmResponse> vmResponses) { final List<VmMetricsResponse> metricsResponses = new ArrayList<>(); for (final UserVmResponse vmResponse: vmResponses) { VmMetricsResponse metricsResponse = new VmMetricsResponse(); try { BeanUtils.copyProperties(metricsResponse, vmResponse); } catch (IllegalAccessException | InvocationTargetException e) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to generate vm metrics response"); } metricsResponse.setIpAddress(vmResponse.getNics()); metricsResponse.setCpuTotal(vmResponse.getCpuNumber(), vmResponse.getCpuSpeed()); metricsResponse.setMemTotal(vmResponse.getMemory()); metricsResponse.setNetworkRead(vmResponse.getNetworkKbsRead()); metricsResponse.setNetworkWrite(vmResponse.getNetworkKbsWrite()); metricsResponse.setDiskRead(vmResponse.getDiskKbsRead()); metricsResponse.setDiskWrite(vmResponse.getDiskKbsWrite()); metricsResponse.setDiskIopsTotal(vmResponse.getDiskIORead(), vmResponse.getDiskIOWrite()); metricsResponses.add(metricsResponse); } return metricsResponses; }
@Override public UserVmResponse newUserVmResponse(ResponseView view, String objectName, UserVmJoinVO userVm, EnumSet<VMDetails> details, Account caller) { UserVmResponse userVmResponse = new UserVmResponse(); userVmResponse.setHypervisor(userVm.getHypervisorType().toString()); userVmResponse.setId(userVm.getUuid()); userVmResponse.setName(userVm.getName()); userVmResponse.setDisplayName(userVm.getDisplayName()); } else { userVmResponse.setDisplayName(userVm.getName()); userVmResponse.setProjectId(userVm.getProjectUuid()); userVmResponse.setProjectName(userVm.getProjectName()); } else { userVmResponse.setAccountName(userVm.getAccountName()); userVmResponse.setUserId(user.getUuid()); userVmResponse.setUserName(user.getUsername()); userVmResponse.setDomainId(userVm.getDomainUuid()); userVmResponse.setDomainName(userVm.getDomainName()); userVmResponse.setCreated(userVm.getCreated()); userVmResponse.setDisplayVm(userVm.isDisplayVm()); userVmResponse.setState(userVm.getState().toString()); userVmResponse.setHaEnable(userVm.isHaEnabled());
resp.setAccountName(uvo.getAccountName()); userVmData.addSecurityGroup(resp); .collect(Collectors.toList()); nicResponse.setExtraDhcpOptions(nicExtraDhcpOptionResponses); userVmData.addNic(nicResponse); if (tag_id > 0 && !userVmData.containTag(tag_id)) { addTagInformation(uvo, userVmData); resp.setObjectName("affinitygroup"); resp.setAccountName(uvo.getAccountName()); userVmData.addAffinityGroup(resp);
@Override public void execute() throws ResourceUnavailableException, ConcurrentOperationException { CallContext.current().setEventDetails("Vm Id: " + this._uuidMgr.getUuid(VirtualMachine.class, getId())); UserVm result = _userVmService.destroyVm(this); UserVmResponse response = new UserVmResponse(); if (result != null) { List<UserVmResponse> responses = _responseGenerator.createUserVmResponse(ResponseView.Restricted, "virtualmachine", result); if (responses != null && !responses.isEmpty()) { response = responses.get(0); } response.setResponseName("virtualmachine"); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to destroy vm"); } } }