Search in sources :

Example 76 with Filter

use of com.cloud.utils.db.Filter in project cloudstack by apache.

the class QueryManagerImpl method searchForStoragePoolsInternal.

private Pair<List<StoragePoolJoinVO>, Integer> searchForStoragePoolsInternal(ListStoragePoolsCmd cmd) {
    ScopeType scopeType = null;
    if (cmd.getScope() != null) {
        try {
            scopeType = Enum.valueOf(ScopeType.class, cmd.getScope().toUpperCase());
        } catch (Exception e) {
            throw new InvalidParameterValueException("Invalid scope type: " + cmd.getScope());
        }
    }
    Long zoneId = _accountMgr.checkAccessAndSpecifyAuthority(CallContext.current().getCallingAccount(), cmd.getZoneId());
    Object id = cmd.getId();
    Object name = cmd.getStoragePoolName();
    Object path = cmd.getPath();
    Object pod = cmd.getPodId();
    Object cluster = cmd.getClusterId();
    Object address = cmd.getIpAddress();
    Object keyword = cmd.getKeyword();
    Long startIndex = cmd.getStartIndex();
    Long pageSize = cmd.getPageSizeVal();
    Filter searchFilter = new Filter(StoragePoolJoinVO.class, "id", Boolean.TRUE, startIndex, pageSize);
    SearchBuilder<StoragePoolJoinVO> sb = _poolJoinDao.createSearchBuilder();
    // select distinct
    sb.select(null, Func.DISTINCT, sb.entity().getId());
    // ids
    sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ);
    sb.and("name", sb.entity().getName(), SearchCriteria.Op.EQ);
    sb.and("path", sb.entity().getPath(), SearchCriteria.Op.EQ);
    sb.and("dataCenterId", sb.entity().getZoneId(), SearchCriteria.Op.EQ);
    sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
    sb.and("clusterId", sb.entity().getClusterId(), SearchCriteria.Op.EQ);
    sb.and("hostAddress", sb.entity().getHostAddress(), SearchCriteria.Op.EQ);
    sb.and("scope", sb.entity().getScope(), SearchCriteria.Op.EQ);
    SearchCriteria<StoragePoolJoinVO> sc = sb.create();
    if (keyword != null) {
        SearchCriteria<StoragePoolJoinVO> ssc = _poolJoinDao.createSearchCriteria();
        ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
        ssc.addOr("poolType", SearchCriteria.Op.LIKE, "%" + keyword + "%");
        sc.addAnd("name", SearchCriteria.Op.SC, ssc);
    }
    if (id != null) {
        sc.setParameters("id", id);
    }
    if (name != null) {
        sc.setParameters("name", name);
    }
    if (path != null) {
        sc.setParameters("path", path);
    }
    if (zoneId != null) {
        sc.setParameters("dataCenterId", zoneId);
    }
    if (pod != null) {
        sc.setParameters("podId", pod);
    }
    if (address != null) {
        sc.setParameters("hostAddress", address);
    }
    if (cluster != null) {
        sc.setParameters("clusterId", cluster);
    }
    if (scopeType != null) {
        sc.setParameters("scope", scopeType.toString());
    }
    // search Pool details by ids
    Pair<List<StoragePoolJoinVO>, Integer> uniquePoolPair = _poolJoinDao.searchAndCount(sc, searchFilter);
    Integer count = uniquePoolPair.second();
    if (count.intValue() == 0) {
        // empty result
        return uniquePoolPair;
    }
    List<StoragePoolJoinVO> uniquePools = uniquePoolPair.first();
    Long[] vrIds = new Long[uniquePools.size()];
    int i = 0;
    for (StoragePoolJoinVO v : uniquePools) {
        vrIds[i++] = v.getId();
    }
    List<StoragePoolJoinVO> vrs = _poolJoinDao.searchByIds(vrIds);
    return new Pair<List<StoragePoolJoinVO>, Integer>(vrs, count);
}
Also used : ScopeType(com.cloud.storage.ScopeType) CloudAuthenticationException(com.cloud.exception.CloudAuthenticationException) PermissionDeniedException(com.cloud.exception.PermissionDeniedException) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) TemplateFilter(com.cloud.template.VirtualMachineTemplate.TemplateFilter) Filter(com.cloud.utils.db.Filter) StoragePoolJoinVO(com.cloud.api.query.vo.StoragePoolJoinVO) ArrayList(java.util.ArrayList) List(java.util.List) Pair(com.cloud.utils.Pair)

Example 77 with Filter

use of com.cloud.utils.db.Filter in project cloudstack by apache.

the class QueryManagerImpl method searchForSecurityGroupsInternal.

private Pair<List<SecurityGroupJoinVO>, Integer> searchForSecurityGroupsInternal(ListSecurityGroupsCmd cmd) throws PermissionDeniedException, InvalidParameterValueException {
    Account caller = CallContext.current().getCallingAccount();
    Long instanceId = cmd.getVirtualMachineId();
    String securityGroup = cmd.getSecurityGroupName();
    Long id = cmd.getId();
    Object keyword = cmd.getKeyword();
    List<Long> permittedAccounts = new ArrayList<Long>();
    Map<String, String> tags = cmd.getTags();
    if (instanceId != null) {
        UserVmVO userVM = _userVmDao.findById(instanceId);
        if (userVM == null) {
            throw new InvalidParameterValueException("Unable to list network groups for virtual machine instance " + instanceId + "; instance not found.");
        }
        _accountMgr.checkAccess(caller, null, true, userVM);
        return listSecurityGroupRulesByVM(instanceId.longValue(), cmd.getStartIndex(), cmd.getPageSizeVal());
    }
    Ternary<Long, Boolean, ListProjectResourcesCriteria> domainIdRecursiveListProject = new Ternary<Long, Boolean, ListProjectResourcesCriteria>(cmd.getDomainId(), cmd.isRecursive(), null);
    _accountMgr.buildACLSearchParameters(caller, id, cmd.getAccountName(), cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, cmd.listAll(), false);
    Long domainId = domainIdRecursiveListProject.first();
    Boolean isRecursive = domainIdRecursiveListProject.second();
    ListProjectResourcesCriteria listProjectResourcesCriteria = domainIdRecursiveListProject.third();
    Filter searchFilter = new Filter(SecurityGroupJoinVO.class, "id", true, cmd.getStartIndex(), cmd.getPageSizeVal());
    SearchBuilder<SecurityGroupJoinVO> sb = _securityGroupJoinDao.createSearchBuilder();
    // select distinct
    sb.select(null, Func.DISTINCT, sb.entity().getId());
    // ids
    _accountMgr.buildACLViewSearchBuilder(sb, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
    sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ);
    sb.and("name", sb.entity().getName(), SearchCriteria.Op.EQ);
    SearchCriteria<SecurityGroupJoinVO> sc = sb.create();
    _accountMgr.buildACLViewSearchCriteria(sc, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
    if (id != null) {
        sc.setParameters("id", id);
    }
    if (tags != null && !tags.isEmpty()) {
        SearchCriteria<SecurityGroupJoinVO> tagSc = _securityGroupJoinDao.createSearchCriteria();
        for (String key : tags.keySet()) {
            SearchCriteria<SecurityGroupJoinVO> tsc = _securityGroupJoinDao.createSearchCriteria();
            tsc.addAnd("tagKey", SearchCriteria.Op.EQ, key);
            tsc.addAnd("tagValue", SearchCriteria.Op.EQ, tags.get(key));
            tagSc.addOr("tagKey", SearchCriteria.Op.SC, tsc);
        }
        sc.addAnd("tagKey", SearchCriteria.Op.SC, tagSc);
    }
    if (securityGroup != null) {
        sc.setParameters("name", securityGroup);
    }
    if (keyword != null) {
        SearchCriteria<SecurityGroupJoinVO> ssc = _securityGroupJoinDao.createSearchCriteria();
        ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
        ssc.addOr("description", SearchCriteria.Op.LIKE, "%" + keyword + "%");
        sc.addAnd("name", SearchCriteria.Op.SC, ssc);
    }
    // search security group together with rules
    Pair<List<SecurityGroupJoinVO>, Integer> uniqueSgPair = _securityGroupJoinDao.searchAndCount(sc, searchFilter);
    Integer count = uniqueSgPair.second();
    if (count.intValue() == 0) {
        // handle empty result cases
        return uniqueSgPair;
    }
    List<SecurityGroupJoinVO> uniqueSgs = uniqueSgPair.first();
    Long[] sgIds = new Long[uniqueSgs.size()];
    int i = 0;
    for (SecurityGroupJoinVO v : uniqueSgs) {
        sgIds[i++] = v.getId();
    }
    List<SecurityGroupJoinVO> sgs = _securityGroupJoinDao.searchByIds(sgIds);
    return new Pair<List<SecurityGroupJoinVO>, Integer>(sgs, count);
}
Also used : Account(com.cloud.user.Account) UserVmVO(com.cloud.vm.UserVmVO) Ternary(com.cloud.utils.Ternary) ArrayList(java.util.ArrayList) SecurityGroupJoinVO(com.cloud.api.query.vo.SecurityGroupJoinVO) ListProjectResourcesCriteria(com.cloud.projects.Project.ListProjectResourcesCriteria) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) TemplateFilter(com.cloud.template.VirtualMachineTemplate.TemplateFilter) Filter(com.cloud.utils.db.Filter) ArrayList(java.util.ArrayList) List(java.util.List) Pair(com.cloud.utils.Pair)

Example 78 with Filter

use of com.cloud.utils.db.Filter in project cloudstack by apache.

the class QueryManagerImpl method listSecurityGroupRulesByVM.

private Pair<List<SecurityGroupJoinVO>, Integer> listSecurityGroupRulesByVM(long vmId, long pageInd, long pageSize) {
    Filter sf = new Filter(SecurityGroupVMMapVO.class, null, true, pageInd, pageSize);
    Pair<List<SecurityGroupVMMapVO>, Integer> sgVmMappingPair = _securityGroupVMMapDao.listByInstanceId(vmId, sf);
    Integer count = sgVmMappingPair.second();
    if (count.intValue() == 0) {
        // handle empty result cases
        return new Pair<List<SecurityGroupJoinVO>, Integer>(new ArrayList<SecurityGroupJoinVO>(), count);
    }
    List<SecurityGroupVMMapVO> sgVmMappings = sgVmMappingPair.first();
    Long[] sgIds = new Long[sgVmMappings.size()];
    int i = 0;
    for (SecurityGroupVMMapVO sgVm : sgVmMappings) {
        sgIds[i++] = sgVm.getSecurityGroupId();
    }
    List<SecurityGroupJoinVO> sgs = _securityGroupJoinDao.searchByIds(sgIds);
    return new Pair<List<SecurityGroupJoinVO>, Integer>(sgs, count);
}
Also used : SecurityGroupJoinVO(com.cloud.api.query.vo.SecurityGroupJoinVO) TemplateFilter(com.cloud.template.VirtualMachineTemplate.TemplateFilter) Filter(com.cloud.utils.db.Filter) ArrayList(java.util.ArrayList) List(java.util.List) SecurityGroupVMMapVO(com.cloud.network.security.SecurityGroupVMMapVO) Pair(com.cloud.utils.Pair)

Example 79 with Filter

use of com.cloud.utils.db.Filter in project cloudstack by apache.

the class QueryManagerImpl method searchForServiceOfferingsInternal.

private Pair<List<ServiceOfferingJoinVO>, Integer> searchForServiceOfferingsInternal(ListServiceOfferingsCmd cmd) {
    // Note
    // The filteredOfferings method for offerings is being modified in accordance with
    // discussion with Will/Kevin
    // For now, we will be listing the following based on the usertype
    // 1. For root, we will filteredOfferings all offerings
    // 2. For domainAdmin and regular users, we will filteredOfferings everything in
    // their domains+parent domains ... all the way
    // till
    // root
    Boolean isAscending = Boolean.parseBoolean(_configDao.getValue("sortkey.algorithm"));
    isAscending = (isAscending == null ? true : isAscending);
    Filter searchFilter = new Filter(ServiceOfferingJoinVO.class, "sortKey", isAscending, cmd.getStartIndex(), cmd.getPageSizeVal());
    Account caller = CallContext.current().getCallingAccount();
    Object name = cmd.getServiceOfferingName();
    Object id = cmd.getId();
    Object keyword = cmd.getKeyword();
    Long vmId = cmd.getVirtualMachineId();
    Long domainId = cmd.getDomainId();
    Boolean isSystem = cmd.getIsSystem();
    String vmTypeStr = cmd.getSystemVmType();
    ServiceOfferingVO currentVmOffering = null;
    Boolean isRecursive = cmd.isRecursive();
    SearchCriteria<ServiceOfferingJoinVO> sc = _srvOfferingJoinDao.createSearchCriteria();
    if (!_accountMgr.isRootAdmin(caller.getId()) && isSystem) {
        throw new InvalidParameterValueException("Only ROOT admins can access system's offering");
    }
    // domain
    if (domainId != null && !_accountMgr.isRootAdmin(caller.getId())) {
        // child of so's domain
        if (!isPermissible(caller.getDomainId(), domainId)) {
            throw new PermissionDeniedException("The account:" + caller.getAccountName() + " does not fall in the same domain hierarchy as the service offering");
        }
    }
    if (vmId != null) {
        VMInstanceVO vmInstance = _vmInstanceDao.findById(vmId);
        if ((vmInstance == null) || (vmInstance.getRemoved() != null)) {
            InvalidParameterValueException ex = new InvalidParameterValueException("unable to find a virtual machine with specified id");
            ex.addProxyObject(vmId.toString(), "vmId");
            throw ex;
        }
        _accountMgr.checkAccess(caller, null, true, vmInstance);
        currentVmOffering = _srvOfferingDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());
        sc.addAnd("id", SearchCriteria.Op.NEQ, currentVmOffering.getId());
        // 1. Only return offerings with the same storage type
        sc.addAnd("useLocalStorage", SearchCriteria.Op.EQ, currentVmOffering.getUseLocalStorage());
        // 2.In case vm is running return only offerings greater than equal to current offering compute.
        if (vmInstance.getState() == VirtualMachine.State.Running) {
            sc.addAnd("cpu", Op.GTEQ, currentVmOffering.getCpu());
            sc.addAnd("speed", Op.GTEQ, currentVmOffering.getSpeed());
            sc.addAnd("ramSize", Op.GTEQ, currentVmOffering.getRamSize());
        }
    }
    // boolean includePublicOfferings = false;
    if ((_accountMgr.isNormalUser(caller.getId()) || _accountMgr.isDomainAdmin(caller.getId())) || caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
        // For non-root users.
        if (isSystem) {
            throw new InvalidParameterValueException("Only root admins can access system's offering");
        }
        if (isRecursive) {
            // domain + all sub-domains
            if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL)
                throw new InvalidParameterValueException("Only ROOT admins and Domain admins can list service offerings with isrecursive=true");
            DomainVO domainRecord = _domainDao.findById(caller.getDomainId());
            sc.addAnd("domainPath", SearchCriteria.Op.LIKE, domainRecord.getPath() + "%");
        } else {
            // domain + all ancestors
            // find all domain Id up to root domain for this account
            List<Long> domainIds = new ArrayList<Long>();
            DomainVO domainRecord;
            if (vmId != null) {
                UserVmVO vmInstance = _userVmDao.findById(vmId);
                domainRecord = _domainDao.findById(vmInstance.getDomainId());
                if (domainRecord == null) {
                    s_logger.error("Could not find the domainId for vmId:" + vmId);
                    throw new CloudAuthenticationException("Could not find the domainId for vmId:" + vmId);
                }
            } else {
                domainRecord = _domainDao.findById(caller.getDomainId());
                if (domainRecord == null) {
                    s_logger.error("Could not find the domainId for account:" + caller.getAccountName());
                    throw new CloudAuthenticationException("Could not find the domainId for account:" + caller.getAccountName());
                }
            }
            domainIds.add(domainRecord.getId());
            while (domainRecord.getParent() != null) {
                domainRecord = _domainDao.findById(domainRecord.getParent());
                domainIds.add(domainRecord.getId());
            }
            SearchCriteria<ServiceOfferingJoinVO> spc = _srvOfferingJoinDao.createSearchCriteria();
            spc.addOr("domainId", SearchCriteria.Op.IN, domainIds.toArray());
            // include public offering as well
            spc.addOr("domainId", SearchCriteria.Op.NULL);
            sc.addAnd("domainId", SearchCriteria.Op.SC, spc);
        }
    } else {
        // for root users
        if (caller.getDomainId() != 1 && isSystem) {
            // NON ROOT admin
            throw new InvalidParameterValueException("Non ROOT admins cannot access system's offering");
        }
        if (domainId != null) {
            sc.addAnd("domainId", SearchCriteria.Op.EQ, domainId);
        }
    }
    if (keyword != null) {
        SearchCriteria<ServiceOfferingJoinVO> ssc = _srvOfferingJoinDao.createSearchCriteria();
        ssc.addOr("displayText", SearchCriteria.Op.LIKE, "%" + keyword + "%");
        ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
        sc.addAnd("name", SearchCriteria.Op.SC, ssc);
    }
    if (id != null) {
        sc.addAnd("id", SearchCriteria.Op.EQ, id);
    }
    if (isSystem != null) {
        // note that for non-root users, isSystem is always false when
        // control comes to here
        sc.addAnd("systemUse", SearchCriteria.Op.EQ, isSystem);
    }
    if (name != null) {
        sc.addAnd("name", SearchCriteria.Op.EQ, name);
    }
    if (vmTypeStr != null) {
        sc.addAnd("vmType", SearchCriteria.Op.EQ, vmTypeStr);
    }
    Pair<List<ServiceOfferingJoinVO>, Integer> result = _srvOfferingJoinDao.searchAndCount(sc, searchFilter);
    //Couldn't figure out a smart way to filter offerings based on tags in sql so doing it in Java.
    List<ServiceOfferingJoinVO> filteredOfferings = filterOfferingsOnCurrentTags(result.first(), currentVmOffering);
    return new Pair<>(filteredOfferings, result.second());
}
Also used : Account(com.cloud.user.Account) UserVmVO(com.cloud.vm.UserVmVO) ServiceOfferingJoinVO(com.cloud.api.query.vo.ServiceOfferingJoinVO) CloudAuthenticationException(com.cloud.exception.CloudAuthenticationException) ArrayList(java.util.ArrayList) VMInstanceVO(com.cloud.vm.VMInstanceVO) ServiceOfferingVO(com.cloud.service.ServiceOfferingVO) DomainVO(com.cloud.domain.DomainVO) TemplateFilter(com.cloud.template.VirtualMachineTemplate.TemplateFilter) Filter(com.cloud.utils.db.Filter) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) PermissionDeniedException(com.cloud.exception.PermissionDeniedException) ArrayList(java.util.ArrayList) List(java.util.List) Pair(com.cloud.utils.Pair)

Example 80 with Filter

use of com.cloud.utils.db.Filter in project cloudstack by apache.

the class QueryManagerImpl method listTagsInternal.

private Pair<List<ResourceTagJoinVO>, Integer> listTagsInternal(ListTagsCmd cmd) {
    Account caller = CallContext.current().getCallingAccount();
    List<Long> permittedAccounts = new ArrayList<Long>();
    String key = cmd.getKey();
    String value = cmd.getValue();
    String resourceId = cmd.getResourceId();
    String resourceType = cmd.getResourceType();
    String customerName = cmd.getCustomer();
    boolean listAll = cmd.listAll();
    Ternary<Long, Boolean, ListProjectResourcesCriteria> domainIdRecursiveListProject = new Ternary<Long, Boolean, ListProjectResourcesCriteria>(cmd.getDomainId(), cmd.isRecursive(), null);
    _accountMgr.buildACLSearchParameters(caller, null, cmd.getAccountName(), cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, listAll, false);
    Long domainId = domainIdRecursiveListProject.first();
    Boolean isRecursive = domainIdRecursiveListProject.second();
    ListProjectResourcesCriteria listProjectResourcesCriteria = domainIdRecursiveListProject.third();
    Filter searchFilter = new Filter(ResourceTagJoinVO.class, "resourceType", false, cmd.getStartIndex(), cmd.getPageSizeVal());
    SearchBuilder<ResourceTagJoinVO> sb = _resourceTagJoinDao.createSearchBuilder();
    _accountMgr.buildACLViewSearchBuilder(sb, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
    sb.and("key", sb.entity().getKey(), SearchCriteria.Op.EQ);
    sb.and("value", sb.entity().getValue(), SearchCriteria.Op.EQ);
    if (resourceId != null) {
        sb.and("resourceId", sb.entity().getResourceId(), SearchCriteria.Op.EQ);
        sb.and("resourceUuid", sb.entity().getResourceUuid(), SearchCriteria.Op.EQ);
    }
    sb.and("resourceType", sb.entity().getResourceType(), SearchCriteria.Op.EQ);
    sb.and("customer", sb.entity().getCustomer(), SearchCriteria.Op.EQ);
    // now set the SC criteria...
    SearchCriteria<ResourceTagJoinVO> sc = sb.create();
    _accountMgr.buildACLViewSearchCriteria(sc, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria);
    if (key != null) {
        sc.setParameters("key", key);
    }
    if (value != null) {
        sc.setParameters("value", value);
    }
    if (resourceId != null) {
        try {
            long rid = Long.parseLong(resourceId);
            sc.setParameters("resourceId", rid);
        } catch (NumberFormatException ex) {
            // internal id instead of resource id is passed
            sc.setParameters("resourceUuid", resourceId);
        }
    }
    if (resourceType != null) {
        sc.setParameters("resourceType", resourceType);
    }
    if (customerName != null) {
        sc.setParameters("customer", customerName);
    }
    Pair<List<ResourceTagJoinVO>, Integer> result = _resourceTagJoinDao.searchAndCount(sc, searchFilter);
    return result;
}
Also used : Account(com.cloud.user.Account) Ternary(com.cloud.utils.Ternary) ArrayList(java.util.ArrayList) ListProjectResourcesCriteria(com.cloud.projects.Project.ListProjectResourcesCriteria) TemplateFilter(com.cloud.template.VirtualMachineTemplate.TemplateFilter) Filter(com.cloud.utils.db.Filter) ResourceTagJoinVO(com.cloud.api.query.vo.ResourceTagJoinVO) ArrayList(java.util.ArrayList) List(java.util.List)

Aggregations

Filter (com.cloud.utils.db.Filter)114 ArrayList (java.util.ArrayList)68 List (java.util.List)64 Pair (com.cloud.utils.Pair)58 Account (com.cloud.user.Account)46 InvalidParameterValueException (com.cloud.exception.InvalidParameterValueException)33 ListProjectResourcesCriteria (com.cloud.projects.Project.ListProjectResourcesCriteria)30 Ternary (com.cloud.utils.Ternary)30 TemplateFilter (com.cloud.template.VirtualMachineTemplate.TemplateFilter)27 DomainVO (com.cloud.domain.DomainVO)13 ExcludeList (com.cloud.deploy.DeploymentPlanner.ExcludeList)12 SSHKeyPair (com.cloud.user.SSHKeyPair)12 ResourceTagVO (com.cloud.tags.ResourceTagVO)11 Date (java.util.Date)10 PermissionDeniedException (com.cloud.exception.PermissionDeniedException)9 IPAddressVO (com.cloud.network.dao.IPAddressVO)8 VMTemplateVO (com.cloud.storage.VMTemplateVO)5 SearchCriteria (com.cloud.utils.db.SearchCriteria)5 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)5 CloudAuthenticationException (com.cloud.exception.CloudAuthenticationException)4