Search in sources :

Example 1 with ResourceTagResponse

use of org.apache.cloudstack.api.response.ResourceTagResponse in project cloudstack by apache.

the class DataCenterJoinDaoImpl method newDataCenterResponse.

@Override
public ZoneResponse newDataCenterResponse(ResponseView view, DataCenterJoinVO dataCenter, Boolean showCapacities, Boolean showResourceImage) {
    ZoneResponse zoneResponse = new ZoneResponse();
    zoneResponse.setId(dataCenter.getUuid());
    zoneResponse.setName(dataCenter.getName());
    zoneResponse.setSecurityGroupsEnabled(ApiDBUtils.isSecurityGroupEnabledInZone(dataCenter.getId()));
    zoneResponse.setLocalStorageEnabled(dataCenter.isLocalStorageEnabled());
    if ((dataCenter.getDescription() != null) && !dataCenter.getDescription().equalsIgnoreCase("null")) {
        zoneResponse.setDescription(dataCenter.getDescription());
    }
    if (view == ResponseView.Full) {
        zoneResponse.setDns1(dataCenter.getDns1());
        zoneResponse.setDns2(dataCenter.getDns2());
        zoneResponse.setIp6Dns1(dataCenter.getIp6Dns1());
        zoneResponse.setIp6Dns2(dataCenter.getIp6Dns2());
        zoneResponse.setInternalDns1(dataCenter.getInternalDns1());
        zoneResponse.setInternalDns2(dataCenter.getInternalDns2());
        // FIXME zoneResponse.setVlan(dataCenter.get.getVnet());
        zoneResponse.setGuestCidrAddress(dataCenter.getGuestNetworkCidr());
        if (showCapacities != null && showCapacities) {
            zoneResponse.setCapacitites(ApiResponseHelper.getDataCenterCapacityResponse(dataCenter.getId()));
        }
    }
    // set network domain info
    zoneResponse.setDomain(dataCenter.getDomain());
    // set domain info
    zoneResponse.setDomainId(dataCenter.getDomainUuid());
    zoneResponse.setDomainName(dataCenter.getDomainName());
    zoneResponse.setNetworkType(dataCenter.getNetworkType().toString());
    zoneResponse.setAllocationState(dataCenter.getAllocationState().toString());
    zoneResponse.setZoneToken(dataCenter.getZoneToken());
    zoneResponse.setDhcpProvider(dataCenter.getDhcpProvider());
    // update tag information
    List<ResourceTagJoinVO> resourceTags = ApiDBUtils.listResourceTagViewByResourceUUID(dataCenter.getUuid(), ResourceObjectType.Zone);
    for (ResourceTagJoinVO resourceTag : resourceTags) {
        ResourceTagResponse tagResponse = ApiDBUtils.newResourceTagResponse(resourceTag, false);
        zoneResponse.addTag(tagResponse);
    }
    if (showResourceImage) {
        ResourceIconVO resourceIcon = ApiDBUtils.getResourceIconByResourceUUID(dataCenter.getUuid(), ResourceObjectType.Zone);
        if (resourceIcon != null) {
            ResourceIconResponse iconResponse = ApiDBUtils.newResourceIconResponse(resourceIcon);
            zoneResponse.setResourceIconResponse(iconResponse);
        }
    }
    zoneResponse.setResourceDetails(ApiDBUtils.getResourceDetails(dataCenter.getId(), ResourceObjectType.Zone));
    zoneResponse.setHasAnnotation(annotationDao.hasAnnotations(dataCenter.getUuid(), AnnotationService.EntityType.ZONE.name(), _accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())));
    zoneResponse.setObjectName("zone");
    return zoneResponse;
}
Also used : ZoneResponse(org.apache.cloudstack.api.response.ZoneResponse) ResourceIconResponse(org.apache.cloudstack.api.response.ResourceIconResponse) ResourceTagResponse(org.apache.cloudstack.api.response.ResourceTagResponse) ResourceTagJoinVO(com.cloud.api.query.vo.ResourceTagJoinVO) ResourceIconVO(com.cloud.resource.icon.ResourceIconVO)

Example 2 with ResourceTagResponse

use of org.apache.cloudstack.api.response.ResourceTagResponse in project cloudstack by apache.

the class ApiResponseHelper method createSnapshotResponse.

@Override
public SnapshotResponse createSnapshotResponse(Snapshot snapshot) {
    SnapshotResponse snapshotResponse = new SnapshotResponse();
    snapshotResponse.setId(snapshot.getUuid());
    populateOwner(snapshotResponse, snapshot);
    VolumeVO volume = findVolumeById(snapshot.getVolumeId());
    String snapshotTypeStr = snapshot.getRecurringType().name();
    snapshotResponse.setSnapshotType(snapshotTypeStr);
    if (volume != null) {
        snapshotResponse.setVolumeId(volume.getUuid());
        snapshotResponse.setVolumeName(volume.getName());
        snapshotResponse.setVolumeType(volume.getVolumeType().name());
        snapshotResponse.setVirtualSize(volume.getSize());
        DataCenter zone = ApiDBUtils.findZoneById(volume.getDataCenterId());
        if (zone != null) {
            snapshotResponse.setZoneId(zone.getUuid());
        }
        if (volume.getVolumeType() == Volume.Type.ROOT && volume.getInstanceId() != null) {
            // TODO combine lines and 489 into a join in the volume dao
            VMInstanceVO instance = ApiDBUtils.findVMInstanceById(volume.getInstanceId());
            if (instance != null) {
                GuestOS guestOs = ApiDBUtils.findGuestOSById(instance.getGuestOSId());
                if (guestOs != null) {
                    snapshotResponse.setOsTypeId(guestOs.getUuid());
                    snapshotResponse.setOsDisplayName(guestOs.getDisplayName());
                }
            }
        }
    }
    snapshotResponse.setCreated(snapshot.getCreated());
    snapshotResponse.setName(snapshot.getName());
    snapshotResponse.setIntervalType(ApiDBUtils.getSnapshotIntervalTypes(snapshot.getId()));
    snapshotResponse.setState(snapshot.getState());
    snapshotResponse.setLocationType(ApiDBUtils.getSnapshotLocationType(snapshot.getId()));
    SnapshotInfo snapshotInfo = null;
    if (snapshot instanceof SnapshotInfo) {
        snapshotInfo = (SnapshotInfo) snapshot;
    } else {
        DataStoreRole dataStoreRole = getDataStoreRole(snapshot, _snapshotStoreDao, _dataStoreMgr);
        snapshotInfo = snapshotfactory.getSnapshot(snapshot.getId(), dataStoreRole);
    }
    if (snapshotInfo == null) {
        s_logger.debug("Unable to find info for image store snapshot with uuid " + snapshot.getUuid());
        snapshotResponse.setRevertable(false);
    } else {
        snapshotResponse.setRevertable(snapshotInfo.isRevertable());
        snapshotResponse.setPhysicaSize(snapshotInfo.getPhysicalSize());
    }
    // set tag information
    List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Snapshot, snapshot.getId());
    List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
    for (ResourceTag tag : tags) {
        ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
        CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
    }
    snapshotResponse.setTags(new HashSet<>(tagResponses));
    snapshotResponse.setHasAnnotation(annotationDao.hasAnnotations(snapshot.getUuid(), AnnotationService.EntityType.SNAPSHOT.name(), _accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())));
    snapshotResponse.setObjectName("snapshot");
    return snapshotResponse;
}
Also used : ArrayList(java.util.ArrayList) VMInstanceVO(com.cloud.vm.VMInstanceVO) DataStoreRole(com.cloud.storage.DataStoreRole) SnapshotInfo(org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo) DataCenter(com.cloud.dc.DataCenter) ResourceTag(com.cloud.server.ResourceTag) VolumeVO(com.cloud.storage.VolumeVO) SnapshotResponse(org.apache.cloudstack.api.response.SnapshotResponse) VMSnapshotResponse(org.apache.cloudstack.api.response.VMSnapshotResponse) ResourceTagResponse(org.apache.cloudstack.api.response.ResourceTagResponse) GuestOS(com.cloud.storage.GuestOS)

Example 3 with ResourceTagResponse

use of org.apache.cloudstack.api.response.ResourceTagResponse in project cloudstack by apache.

the class ApiResponseHelper method createNetworkResponse.

@Override
public NetworkResponse createNetworkResponse(ResponseView view, Network network) {
    // need to get network profile in order to retrieve dns information from
    // there
    NetworkProfile profile = ApiDBUtils.getNetworkProfile(network.getId());
    NetworkResponse response = new NetworkResponse();
    response.setId(network.getUuid());
    response.setName(network.getName());
    response.setDisplaytext(network.getDisplayText());
    if (network.getBroadcastDomainType() != null) {
        response.setBroadcastDomainType(network.getBroadcastDomainType().toString());
    }
    if (network.getTrafficType() != null) {
        response.setTrafficType(network.getTrafficType().name());
    }
    if (network.getGuestType() != null) {
        response.setType(network.getGuestType().toString());
    }
    response.setGateway(network.getGateway());
    // FIXME - either set netmask or cidr
    response.setCidr(network.getCidr());
    if (network.getNetworkCidr() != null) {
        response.setNetworkCidr((network.getNetworkCidr()));
    }
    // network cidr
    if (network.getNetworkCidr() != null) {
        response.setNetmask(NetUtils.cidr2Netmask(network.getNetworkCidr()));
    }
    if (((network.getCidr()) != null) && (network.getNetworkCidr() == null)) {
        response.setNetmask(NetUtils.cidr2Netmask(network.getCidr()));
    }
    response.setIp6Gateway(network.getIp6Gateway());
    response.setIp6Cidr(network.getIp6Cidr());
    // create response for reserved IP ranges that can be used for
    // non-cloudstack purposes
    String reservation = null;
    if ((network.getCidr() != null) && (NetUtils.isNetworkAWithinNetworkB(network.getCidr(), network.getNetworkCidr()))) {
        String[] guestVmCidrPair = network.getCidr().split("\\/");
        String[] guestCidrPair = network.getNetworkCidr().split("\\/");
        Long guestVmCidrSize = Long.valueOf(guestVmCidrPair[1]);
        Long guestCidrSize = Long.valueOf(guestCidrPair[1]);
        String[] guestVmIpRange = NetUtils.getIpRangeFromCidr(guestVmCidrPair[0], guestVmCidrSize);
        String[] guestIpRange = NetUtils.getIpRangeFromCidr(guestCidrPair[0], guestCidrSize);
        long startGuestIp = NetUtils.ip2Long(guestIpRange[0]);
        long endGuestIp = NetUtils.ip2Long(guestIpRange[1]);
        long startVmIp = NetUtils.ip2Long(guestVmIpRange[0]);
        long endVmIp = NetUtils.ip2Long(guestVmIpRange[1]);
        if (startVmIp == startGuestIp && endVmIp < endGuestIp - 1) {
            reservation = (NetUtils.long2Ip(endVmIp + 1) + "-" + NetUtils.long2Ip(endGuestIp));
        }
        if (endVmIp == endGuestIp && startVmIp > startGuestIp + 1) {
            reservation = (NetUtils.long2Ip(startGuestIp) + "-" + NetUtils.long2Ip(startVmIp - 1));
        }
        if (startVmIp > startGuestIp + 1 && endVmIp < endGuestIp - 1) {
            reservation = (NetUtils.long2Ip(startGuestIp) + "-" + NetUtils.long2Ip(startVmIp - 1) + " ,  " + NetUtils.long2Ip(endVmIp + 1) + "-" + NetUtils.long2Ip(endGuestIp));
        }
    }
    response.setReservedIpRange(reservation);
    // return vlan information only to Root admin
    if (network.getBroadcastUri() != null && view == ResponseView.Full) {
        String broadcastUri = network.getBroadcastUri().toString();
        response.setBroadcastUri(broadcastUri);
        String vlan = "N/A";
        switch(BroadcastDomainType.getSchemeValue(network.getBroadcastUri())) {
            case Vlan:
            case Vxlan:
                vlan = BroadcastDomainType.getValue(network.getBroadcastUri());
                break;
        }
        // return vlan information only to Root admin
        response.setVlan(vlan);
    }
    // return network details only to Root admin
    if (view == ResponseView.Full) {
        Map<String, String> details = new HashMap<>();
        for (NetworkDetailVO detail : networkDetailsDao.listDetails(network.getId())) {
            details.put(detail.getName(), detail.getValue());
        }
        response.setDetails(details);
    }
    DataCenter zone = ApiDBUtils.findZoneById(network.getDataCenterId());
    if (zone != null) {
        response.setZoneId(zone.getUuid());
        response.setZoneName(zone.getName());
    }
    if (network.getPhysicalNetworkId() != null) {
        PhysicalNetworkVO pnet = ApiDBUtils.findPhysicalNetworkById(network.getPhysicalNetworkId());
        response.setPhysicalNetworkId(pnet.getUuid());
    }
    // populate network offering information
    NetworkOffering networkOffering = ApiDBUtils.findNetworkOfferingById(network.getNetworkOfferingId());
    if (networkOffering != null) {
        response.setNetworkOfferingId(networkOffering.getUuid());
        response.setNetworkOfferingName(networkOffering.getName());
        response.setNetworkOfferingDisplayText(networkOffering.getDisplayText());
        response.setNetworkOfferingConserveMode(networkOffering.isConserveMode());
        response.setIsSystem(networkOffering.isSystemOnly());
        response.setNetworkOfferingAvailability(networkOffering.getAvailability().toString());
        response.setIsPersistent(networkOffering.isPersistent());
        if (Network.GuestType.Isolated.equals(network.getGuestType())) {
            response.setEgressDefaultPolicy(networkOffering.isEgressDefaultPolicy());
        }
    }
    if (network.getAclType() != null) {
        response.setAclType(network.getAclType().toString());
    }
    response.setDisplayNetwork(network.getDisplayNetwork());
    response.setState(network.getState().toString());
    response.setRestartRequired(network.isRestartRequired());
    NetworkVO nw = ApiDBUtils.findNetworkById(network.getRelated());
    if (nw != null) {
        response.setRelated(nw.getUuid());
    }
    response.setNetworkDomain(network.getNetworkDomain());
    response.setDns1(profile.getDns1());
    response.setDns2(profile.getDns2());
    // populate capability
    Map<Service, Map<Capability, String>> serviceCapabilitiesMap = ApiDBUtils.getNetworkCapabilities(network.getId(), network.getDataCenterId());
    Map<Service, Set<Provider>> serviceProviderMap = ApiDBUtils.listNetworkOfferingServices(network.getNetworkOfferingId());
    List<ServiceResponse> serviceResponses = new ArrayList<ServiceResponse>();
    if (serviceCapabilitiesMap != null) {
        for (Map.Entry<Service, Map<Capability, String>> entry : serviceCapabilitiesMap.entrySet()) {
            Service service = entry.getKey();
            ServiceResponse serviceResponse = new ServiceResponse();
            // skip gateway service
            if (service == Service.Gateway) {
                continue;
            }
            serviceResponse.setName(service.getName());
            // set list of capabilities for the service
            List<CapabilityResponse> capabilityResponses = new ArrayList<>();
            Map<Capability, String> serviceCapabilities = entry.getValue();
            if (serviceCapabilities != null) {
                for (Map.Entry<Capability, String> ser_cap_entries : serviceCapabilities.entrySet()) {
                    Capability capability = ser_cap_entries.getKey();
                    String capabilityValue = ser_cap_entries.getValue();
                    if (Service.Lb == service && capability.getName().equals(Capability.SupportedLBIsolation.getName())) {
                        capabilityValue = networkOffering.isDedicatedLB() ? "dedicated" : "shared";
                    }
                    Set<String> capabilitySet = new HashSet<>(Arrays.asList(Capability.SupportedLBIsolation.getName(), Capability.SupportedSourceNatTypes.getName(), Capability.RedundantRouter.getName()));
                    boolean canChoose = capabilitySet.contains(capability.getName());
                    createCapabilityResponse(capabilityResponses, capability.getName(), capabilityValue, canChoose, "capability");
                }
            }
            if (Service.SourceNat == service) {
                // overwrite
                capabilityResponses = new ArrayList<>();
                createCapabilityResponse(capabilityResponses, Capability.SupportedSourceNatTypes.getName(), networkOffering.isSharedSourceNat() ? "perzone" : "peraccount", true);
                createCapabilityResponse(capabilityResponses, Capability.RedundantRouter.getName(), networkOffering.isRedundantRouter() ? "true" : "false", true);
            } else if (service == Service.StaticNat) {
                createCapabilityResponse(capabilityResponses, Capability.ElasticIp.getName(), networkOffering.isElasticIp() ? "true" : "false", false);
                createCapabilityResponse(capabilityResponses, Capability.AssociatePublicIP.getName(), networkOffering.isAssociatePublicIP() ? "true" : "false", false);
            } else if (Service.Lb == service) {
                createCapabilityResponse(capabilityResponses, Capability.ElasticLb.getName(), networkOffering.isElasticLb() ? "true" : "false", false);
                createCapabilityResponse(capabilityResponses, Capability.InlineMode.getName(), networkOffering.isInline() ? "true" : "false", false);
            }
            serviceResponse.setCapabilities(capabilityResponses);
            List<ProviderResponse> providers = new ArrayList<>();
            for (Provider provider : serviceProviderMap.get(service)) {
                if (provider != null) {
                    ProviderResponse providerRsp = new ProviderResponse();
                    providerRsp.setName(provider.getName());
                    providers.add(providerRsp);
                }
            }
            serviceResponse.setProviders(providers);
            serviceResponse.setObjectName("service");
            serviceResponses.add(serviceResponse);
        }
    }
    response.setServices(serviceResponses);
    if (network.getAclType() == null || network.getAclType() == ACLType.Account) {
        populateOwner(response, network);
    } else {
        // get domain from network_domain table
        Pair<Long, Boolean> domainNetworkDetails = ApiDBUtils.getDomainNetworkDetails(network.getId());
        if (domainNetworkDetails.first() != null) {
            Domain domain = ApiDBUtils.findDomainById(domainNetworkDetails.first());
            if (domain != null) {
                response.setDomainId(domain.getUuid());
            }
        }
        response.setSubdomainAccess(domainNetworkDetails.second());
    }
    Long dedicatedDomainId = ApiDBUtils.getDedicatedNetworkDomain(network.getId());
    if (dedicatedDomainId != null) {
        Domain domain = ApiDBUtils.findDomainById(dedicatedDomainId);
        if (domain != null) {
            response.setDomainId(domain.getUuid());
            response.setDomainName(domain.getName());
        }
    }
    response.setSpecifyIpRanges(network.getSpecifyIpRanges());
    if (network.getVpcId() != null) {
        Vpc vpc = ApiDBUtils.findVpcById(network.getVpcId());
        if (vpc != null) {
            response.setVpcId(vpc.getUuid());
            response.setVpcName(vpc.getName());
        }
    }
    response.setCanUseForDeploy(ApiDBUtils.canUseForDeploy(network));
    // set tag information
    List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.Network, network.getId());
    List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
    for (ResourceTag tag : tags) {
        ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
        CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
    }
    response.setTags(tagResponses);
    response.setHasAnnotation(annotationDao.hasAnnotations(network.getUuid(), AnnotationService.EntityType.NETWORK.name(), _accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())));
    if (network.getNetworkACLId() != null) {
        NetworkACL acl = ApiDBUtils.findByNetworkACLId(network.getNetworkACLId());
        if (acl != null) {
            response.setAclId(acl.getUuid());
            response.setAclName(acl.getName());
        }
    }
    response.setStrechedL2Subnet(network.isStrechedL2Network());
    if (network.isStrechedL2Network()) {
        Set<String> networkSpannedZones = new HashSet<String>();
        List<VMInstanceVO> vmInstances = new ArrayList<VMInstanceVO>();
        vmInstances.addAll(ApiDBUtils.listUserVMsByNetworkId(network.getId()));
        vmInstances.addAll(ApiDBUtils.listDomainRoutersByNetworkId(network.getId()));
        for (VirtualMachine vm : vmInstances) {
            DataCenter vmZone = ApiDBUtils.findZoneById(vm.getDataCenterId());
            networkSpannedZones.add(vmZone.getUuid());
        }
        response.setNetworkSpannedZones(networkSpannedZones);
    }
    response.setExternalId(network.getExternalId());
    response.setRedundantRouter(network.isRedundant());
    response.setCreated(network.getCreated());
    Long bytesReceived = 0L;
    Long bytesSent = 0L;
    SearchBuilder<UserStatisticsVO> sb = userStatsDao.createSearchBuilder();
    sb.and("networkId", sb.entity().getNetworkId(), Op.EQ);
    SearchCriteria<UserStatisticsVO> sc = sb.create();
    sc.setParameters("networkId", network.getId());
    for (UserStatisticsVO stat : userStatsDao.search(sc, null)) {
        bytesReceived += stat.getNetBytesReceived() + stat.getCurrentBytesReceived();
        bytesSent += stat.getNetBytesSent() + stat.getCurrentBytesSent();
    }
    response.setBytesReceived(bytesReceived);
    response.setBytesSent(bytesSent);
    response.setObjectName("network");
    return response;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) CapabilityResponse(org.apache.cloudstack.api.response.CapabilityResponse) PhysicalNetworkVO(com.cloud.network.dao.PhysicalNetworkVO) ResourceTagResponse(org.apache.cloudstack.api.response.ResourceTagResponse) NetworkDetailVO(com.cloud.network.dao.NetworkDetailVO) HashSet(java.util.HashSet) PhysicalNetworkVO(com.cloud.network.dao.PhysicalNetworkVO) NetworkVO(com.cloud.network.dao.NetworkVO) Capability(com.cloud.network.Network.Capability) VMInstanceVO(com.cloud.vm.VMInstanceVO) NetworkResponse(org.apache.cloudstack.api.response.NetworkResponse) PhysicalNetworkResponse(org.apache.cloudstack.api.response.PhysicalNetworkResponse) Domain(com.cloud.domain.Domain) Map(java.util.Map) HashMap(java.util.HashMap) UserStatisticsVO(com.cloud.user.UserStatisticsVO) VirtualMachine(com.cloud.vm.VirtualMachine) EnumSet(java.util.EnumSet) HashSet(java.util.HashSet) Set(java.util.Set) Vpc(com.cloud.network.vpc.Vpc) NetworkACL(com.cloud.network.vpc.NetworkACL) ServiceResponse(org.apache.cloudstack.api.response.ServiceResponse) ProviderResponse(org.apache.cloudstack.api.response.ProviderResponse) VirtualRouterProviderResponse(org.apache.cloudstack.api.response.VirtualRouterProviderResponse) OvsProviderResponse(org.apache.cloudstack.api.response.OvsProviderResponse) NetworkOffering(com.cloud.offering.NetworkOffering) Service(com.cloud.network.Network.Service) UsageService(org.apache.cloudstack.usage.UsageService) AnnotationService(org.apache.cloudstack.annotation.AnnotationService) OvsProvider(com.cloud.network.OvsProvider) VirtualRouterProvider(com.cloud.network.VirtualRouterProvider) PhysicalNetworkServiceProvider(com.cloud.network.PhysicalNetworkServiceProvider) Provider(com.cloud.network.Network.Provider) NetworkProfile(com.cloud.network.NetworkProfile) DataCenter(com.cloud.dc.DataCenter) ResourceTag(com.cloud.server.ResourceTag)

Example 4 with ResourceTagResponse

use of org.apache.cloudstack.api.response.ResourceTagResponse in project cloudstack by apache.

the class ApiResponseHelper method createSnapshotPolicyResponse.

@Override
public SnapshotPolicyResponse createSnapshotPolicyResponse(SnapshotPolicy policy) {
    SnapshotPolicyResponse policyResponse = new SnapshotPolicyResponse();
    policyResponse.setId(policy.getUuid());
    Volume vol = ApiDBUtils.findVolumeById(policy.getVolumeId());
    if (vol != null) {
        policyResponse.setVolumeId(vol.getUuid());
    }
    policyResponse.setSchedule(policy.getSchedule());
    policyResponse.setIntervalType(policy.getInterval());
    policyResponse.setMaxSnaps(policy.getMaxSnaps());
    policyResponse.setTimezone(policy.getTimezone());
    policyResponse.setForDisplay(policy.isDisplay());
    policyResponse.setObjectName("snapshotpolicy");
    List<? extends ResourceTag> tags = _resourceTagDao.listBy(policy.getId(), ResourceObjectType.SnapshotPolicy);
    List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
    for (ResourceTag tag : tags) {
        ResourceTagResponse tagResponse = createResourceTagResponse(tag, false);
        CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
    }
    policyResponse.setTags(new HashSet<>(tagResponses));
    return policyResponse;
}
Also used : SnapshotPolicyResponse(org.apache.cloudstack.api.response.SnapshotPolicyResponse) ResourceTag(com.cloud.server.ResourceTag) Volume(com.cloud.storage.Volume) ResourceTagResponse(org.apache.cloudstack.api.response.ResourceTagResponse) ArrayList(java.util.ArrayList)

Example 5 with ResourceTagResponse

use of org.apache.cloudstack.api.response.ResourceTagResponse in project cloudstack by apache.

the class ApiResponseHelper method createStaticRouteResponse.

@Override
public StaticRouteResponse createStaticRouteResponse(StaticRoute result) {
    StaticRouteResponse response = new StaticRouteResponse();
    response.setId(result.getUuid());
    if (result.getVpcId() != null) {
        Vpc vpc = ApiDBUtils.findVpcById(result.getVpcId());
        if (vpc != null) {
            response.setVpcId(vpc.getUuid());
        }
    }
    response.setCidr(result.getCidr());
    StaticRoute.State state = result.getState();
    if (state.equals(StaticRoute.State.Revoke)) {
        state = StaticRoute.State.Deleting;
    }
    response.setState(state.toString());
    populateAccount(response, result.getAccountId());
    populateDomain(response, result.getDomainId());
    // set tag information
    List<? extends ResourceTag> tags = ApiDBUtils.listByResourceTypeAndId(ResourceObjectType.StaticRoute, result.getId());
    List<ResourceTagResponse> tagResponses = new ArrayList<ResourceTagResponse>();
    for (ResourceTag tag : tags) {
        ResourceTagResponse tagResponse = createResourceTagResponse(tag, true);
        CollectionUtils.addIgnoreNull(tagResponses, tagResponse);
    }
    response.setTags(tagResponses);
    response.setObjectName("staticroute");
    return response;
}
Also used : StaticRouteResponse(org.apache.cloudstack.api.response.StaticRouteResponse) StaticRoute(com.cloud.network.vpc.StaticRoute) ResourceTag(com.cloud.server.ResourceTag) Vpc(com.cloud.network.vpc.Vpc) ResourceTagResponse(org.apache.cloudstack.api.response.ResourceTagResponse) ArrayList(java.util.ArrayList)

Aggregations

ResourceTagResponse (org.apache.cloudstack.api.response.ResourceTagResponse)18 ResourceTag (com.cloud.server.ResourceTag)12 ArrayList (java.util.ArrayList)12 Network (com.cloud.network.Network)6 PhysicalNetwork (com.cloud.network.PhysicalNetwork)6 DataCenter (com.cloud.dc.DataCenter)5 HashSet (java.util.HashSet)5 FirewallRule (com.cloud.network.rules.FirewallRule)4 HashMap (java.util.HashMap)4 ResourceTagJoinVO (com.cloud.api.query.vo.ResourceTagJoinVO)3 IpAddress (com.cloud.network.IpAddress)3 Vpc (com.cloud.network.vpc.Vpc)3 UserVm (com.cloud.uservm.UserVm)3 Map (java.util.Map)3 Set (java.util.Set)3 SecurityGroupJoinVO (com.cloud.api.query.vo.SecurityGroupJoinVO)2 Provider (com.cloud.network.Network.Provider)2 Service (com.cloud.network.Network.Service)2 OvsProvider (com.cloud.network.OvsProvider)2 PhysicalNetworkServiceProvider (com.cloud.network.PhysicalNetworkServiceProvider)2