@Override public VpcOfferingResponse createVpcOfferingResponse(VpcOffering offering) { VpcOfferingResponse response = new VpcOfferingResponse(); response.setId(offering.getUuid()); response.setName(offering.getName()); response.setDisplayText(offering.getDisplayText()); response.setIsDefault(offering.isDefault()); response.setState(offering.getState().name()); response.setSupportsDistributedRouter(offering.supportsDistributedRouter()); response.setSupportsRegionLevelVpc(offering.offersRegionLevelVPC()); Map<Service, Set<Provider>> serviceProviderMap = ApiDBUtils.listVpcOffServices(offering.getId()); List<ServiceResponse> serviceResponses = new ArrayList<ServiceResponse>(); for (Map.Entry<Service, Set<Provider>> entry : serviceProviderMap.entrySet()) {
@Nonnull private VpcOffering updateVpcOfferingInTransaction(VpcOffering offering, Multimap<Network.Service, Network.Provider> svcProviderMap) { if (s_logger.isDebugEnabled()) { s_logger.debug(String.format("Updating vpc offering %s", offering)); } List<VpcOfferingServiceMapVO> currentVpcOfferingServices = _vpcOffSvcMapDao.listByVpcOffId(offering.getId()); Multimap<Network.Service, Network.Provider> currentSvcProviderMap = HashMultimap.create(); for (VpcOfferingServiceMapVO vpcOfferingService : currentVpcOfferingServices) { Network.Service service = Network.Service.getService(vpcOfferingService.getService()); Network.Provider provider = Network.Provider.getProvider(vpcOfferingService.getProvider()); currentSvcProviderMap.put(service, provider); } for (Map.Entry<Network.Service, Network.Provider> entry : svcProviderMap.entries()) { Network.Service service = entry.getKey(); Network.Provider provider = entry.getValue(); if (!currentSvcProviderMap.containsEntry(service, provider)) { VpcOfferingServiceMapVO offService = new VpcOfferingServiceMapVO(offering.getId(), service, provider); _vpcOffSvcMapDao.persist(offService); if (s_logger.isDebugEnabled()) { s_logger.debug(String.format("Added service for the vpc offering: %s", offService)); } } } return offering; }
@Override public void create() throws ResourceAllocationException { VpcOffering vpcOff = _vpcProvSvc.createVpcOffering(getVpcOfferingName(), getDisplayText(), getSupportedServices(), getServiceProviders(), getServiceCapabilitystList(), getServiceOfferingId()); if (vpcOff != null) { setEntityId(vpcOff.getId()); setEntityUuid(vpcOff.getUuid()); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create a VPC offering"); } }
VpcOffering voff = ApiDBUtils.findVpcOfferingById(vpc.getVpcOfferingId()); if (voff != null) { response.setVpcOfferingId(voff.getUuid());
final VpcOffering offering = createVpcOffering(name, displayText, svcProviderMap, false, null, serviceOfferingId, supportsDistributedRouter, offersRegionLevelVPC, redundantRouter); CallContext.current().setEventDetails(" Id: " + offering.getId() + " Name: " + name);
@Override public List<VpcVO> findManagedVpcs() { SearchBuilder<VpcVO> searchBuilder = _vpcDao.createSearchBuilder(); searchBuilder.and("vpcOffering", searchBuilder.entity().getVpcOfferingId(), Op.EQ); SearchCriteria<VpcVO> sc = searchBuilder.create(); sc.setParameters("vpcOffering", getVpcOffering().getId()); List<VpcVO> vpcs = _vpcDao.search(sc, null); if (vpcs == null || vpcs.size() == 0) { s_logger.debug("no vpcs found"); return null; } return vpcs; }