@APICommand(name = "addBaremetalPxeKickStartServer", description = "add a baremetal pxe server", responseObject = BaremetalPxeKickStartResponse.class, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class AddBaremetalKickStartPxeCmd extends AddBaremetalPxeCmd { @Parameter(name = ApiConstants.TFTP_DIR, type = CommandType.STRING, required = true, description = "Tftp root directory of PXE server") private String tftpDir; public String getTftpDir() { return tftpDir; } public void setTftpDir(String tftpDir) { this.tftpDir = tftpDir; } }
@APICommand(name = "listTemplatePermissions", description = "List template visibility and all accounts that have permissions to view this template.", responseObject = TemplatePermissionsResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListTemplatePermissionsCmdByAdmin extends ListTemplatePermissionsCmd { @Override public void execute() { executeWithView(ResponseView.Full); } }
@APICommand(name = "listIsoPermissions", description = "List iso visibility and all accounts that have permissions to view this iso.", responseObject = TemplatePermissionsResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListIsoPermissionsCmdByAdmin extends ListIsoPermissionsCmd { @Override public void execute() { executeWithView(ResponseView.Full); } }
@APICommand(name = "copyIso", description = "Copies an ISO from one zone to another.", responseObject = TemplateResponse.class, responseView = ResponseView.Restricted, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class CopyIsoCmd extends CopyTemplateCmd { public static final Logger s_logger = Logger.getLogger(CopyIsoCmd.class.getName()); private static final String s_name = "copyisoresponse"; }
@APICommand(name = "listAccounts", description = "Lists accounts and provides detailed account information for listed accounts", responseObject = AccountResponse.class, responseView = ResponseView.Full, entityType = {Account.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = true) public class ListAccountsCmdByAdmin extends ListAccountsCmd { }
@APICommand(name = "listTemplates", description = "List all public, private, and privileged templates.", responseObject = TemplateResponse.class, entityType = {VirtualMachineTemplate.class}, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListTemplatesCmdByAdmin extends ListTemplatesCmd { }
@APICommand(name = "listVolumes", description = "Lists all volumes.", responseObject = VolumeResponse.class, responseView = ResponseView.Full, entityType = { Volume.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListVolumesCmdByAdmin extends ListVolumesCmd { }
@APICommand(name = "listDomains", description = "Lists domains and provides detailed information for listed domains", responseObject = DomainResponse.class, responseView = ResponseView.Full, entityType = {Domain.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListDomainsCmdByAdmin extends ListDomainsCmd { }
@APICommand(name = "listZones", description = "Lists zones", responseObject = ZoneResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListZonesCmdByAdmin extends ListZonesCmd { }
@APICommand(name = "listIsos", description = "Lists all available ISO files.", responseObject = TemplateResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListIsosCmdByAdmin extends ListIsosCmd { }
@APICommand(name = "copyIso", description = "Copies an iso from one zone to another.", responseObject = TemplateResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class CopyIsoCmdByAdmin extends CopyIsoCmd { }
@APICommand(name = "migrateVolume", description = "Migrate volume", responseObject = VolumeResponse.class, since = "3.0.0", responseView = ResponseView.Full, entityType = { Volume.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class MigrateVolumeCmdByAdmin extends MigrateVolumeCmd { @Override public void execute() { Volume result = _volumeService.migrateVolume(this); if (result != null) { VolumeResponse response = _responseGenerator.createVolumeResponse(ResponseView.Full, result); response.setResponseName(getCommandName()); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to migrate volume"); } } }
@APICommand(name = "updateIso", description = "Updates an ISO file.", responseObject = TemplateResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class UpdateIsoCmdByAdmin extends UpdateIsoCmd { public static final Logger s_logger = Logger.getLogger(UpdateIsoCmdByAdmin.class.getName()); @Override public void execute(){ VirtualMachineTemplate result = _templateService.updateTemplate(this); if (result != null) { TemplateResponse response = _responseGenerator.createTemplateUpdateResponse(ResponseView.Full, result); response.setResponseName(getCommandName()); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update iso"); } } }
@APICommand(name = "updateVPC", description = "Updates a VPC", responseObject = VpcResponse.class, responseView = ResponseView.Full, entityType = {Vpc.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class UpdateVPCCmdByAdmin extends UpdateVPCCmd { public static final Logger s_logger = Logger.getLogger(UpdateVPCCmdByAdmin.class.getName()); @Override public void execute(){ Vpc result = _vpcService.updateVpc(getId(), getVpcName(), getDisplayText(), getCustomId(), isDisplayVpc()); if (result != null) { VpcResponse response = _responseGenerator.createVpcResponse(ResponseView.Full, result); response.setResponseName(getCommandName()); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update VPC"); } } }
@APICommand(name = "detachIso", description = "Detaches any ISO file (if any) currently attached to a virtual machine.", responseObject = UserVmResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = true) public class DetachIsoCmdByAdmin extends DetachIsoCmd { public static final Logger s_logger = Logger.getLogger(DetachIsoCmdByAdmin.class.getName()); @Override public void execute(){ boolean result = _templateService.detachIso(virtualMachineId); if (result) { UserVm userVm = _entityMgr.findById(UserVm.class, virtualMachineId); UserVmResponse response = _responseGenerator.createUserVmResponse(ResponseView.Full, "virtualmachine", userVm).get(0); response.setResponseName(DeployVMCmd.getResultObjectName()); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to detach iso"); } } }
@APICommand(name = "detachVolume", description = "Detaches a disk volume from a virtual machine.", responseObject = VolumeResponse.class, responseView = ResponseView.Full, entityType = {VirtualMachine.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class DetachVolumeCmdByAdmin extends DetachVolumeCmd { public static final Logger s_logger = Logger.getLogger(DetachVolumeCmdByAdmin.class.getName()); @Override public void execute(){ CallContext.current().setEventDetails(getEventDescription()); Volume result = _volumeService.detachVolumeFromVM(this); if (result != null){ VolumeResponse response = _responseGenerator.createVolumeResponse(ResponseView.Full, result); response.setResponseName("volume"); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to detach volume"); } } }
@APICommand(name = "listNetworks", description = "Lists all available networks.", responseObject = NetworkResponse.class, responseView = ResponseView.Full, entityType = {Network.class}, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class ListNetworksCmdByAdmin extends ListNetworksCmd { public static final Logger s_logger = Logger.getLogger(ListNetworksCmdByAdmin.class.getName()); @Override public void execute(){ Pair<List<? extends Network>, Integer> networks = _networkService.searchForNetworks(this); ListResponse<NetworkResponse> response = new ListResponse<NetworkResponse>(); List<NetworkResponse> networkResponses = new ArrayList<NetworkResponse>(); for (Network network : networks.first()) { NetworkResponse networkResponse = _responseGenerator.createNetworkResponse(ResponseView.Full, network); networkResponses.add(networkResponse); } response.setResponses(networkResponses, networks.second()); response.setResponseName(getCommandName()); setResponseObject(response); } }
@APICommand(name = "updateTemplate", description = "Updates attributes of a template.", responseObject = TemplateResponse.class, responseView = ResponseView.Full, requestHasSensitiveInfo = false, responseHasSensitiveInfo = false) public class UpdateTemplateCmdByAdmin extends UpdateTemplateCmd { public static final Logger s_logger = Logger.getLogger(UpdateTemplateCmdByAdmin.class.getName()); @Override public void execute(){ VirtualMachineTemplate result = _templateService.updateTemplate(this); if (result != null) { TemplateResponse response = _responseGenerator.createTemplateUpdateResponse(ResponseView.Full, result); response.setObjectName("template"); response.setTemplateType(result.getTemplateType().toString());//Template can be either USER or ROUTING type response.setResponseName(getCommandName()); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update template"); } } }
@APICommand(name=BaseCmdTest.CMD2_NAME, responseObject=BaseResponse.class) class Cmd2 extends Cmd1 { @Override public String getCommandName() { return BaseCmdTest.CMD2_RESPONSE; } }
@APICommand(name=BaseCmdTest.CMD1_NAME, responseObject=BaseResponse.class) class Cmd1 extends BaseCmd { @Override public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException { } @Override public String getCommandName() { return BaseCmdTest.CMD1_RESPONSE; } @Override public long getEntityOwnerId() { return 0; } }