Search in sources :

Example 1 with AAIResourceUri

use of org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri in project so by onap.

the class AAIQueryTasks method queryNetworkVpnBinding.

/**
 * BPMN access method to query data for VPN bindings from the AAI result wrapper. The resulting VPN bindings are
 * mapped to the corresponding bbobject and placed in the customer bbobject
 *
 * @param execution
 */
public void queryNetworkVpnBinding(BuildingBlockExecution execution) {
    try {
        L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID);
        AAIResultWrapper aaiResultWrapper = aaiNetworkResources.queryNetworkWrapperById(l3network);
        Optional<Relationships> networkRelationships = aaiResultWrapper.getRelationships();
        if (!networkRelationships.isPresent()) {
            throw (new Exception(ERROR_MSG));
        }
        List<AAIResourceUri> netBindingsUriList = networkRelationships.get().getRelatedUris(Types.VPN_BINDING);
        List<org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding> mappedVpnBindings = new ArrayList<>();
        if (netBindingsUriList != null && !netBindingsUriList.isEmpty()) {
            for (AAIResourceUri netBindingUri : netBindingsUriList) {
                Optional<VpnBinding> oVpnBinding = aaiNetworkResources.getVpnBinding(netBindingUri);
                if (oVpnBinding.isPresent()) {
                    org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding mappedVpnBinding = modelMapper.map(oVpnBinding.get(), org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding.class);
                    if (oVpnBinding.get().getRouteTargets() != null) {
                        mappedVpnBinding.getRouteTargets().addAll(mapRouteTargets(oVpnBinding.get().getRouteTargets().getRouteTarget()));
                        mappedVpnBindings.add(mappedVpnBinding);
                    }
                }
            }
        }
        execution.getGeneralBuildingBlock().getCustomer().getVpnBindings().addAll(mappedVpnBindings);
    } catch (Exception ex) {
        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
    }
}
Also used : L3Network(org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network) ArrayList(java.util.ArrayList) AAIResourceUri(org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri) Relationships(org.onap.aaiclient.client.aai.entities.Relationships) VpnBinding(org.onap.aai.domain.yang.VpnBinding) AAIResultWrapper(org.onap.aaiclient.client.aai.entities.AAIResultWrapper)

Example 2 with AAIResourceUri

use of org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri in project so by onap.

the class AAIQueryTasks method getNetworkVpnBinding.

/**
 * BPMN access method to extract VPN Binding data from AAI result and populate proper fields into
 * CreateNetworkRequest
 */
public void getNetworkVpnBinding(BuildingBlockExecution execution) {
    try {
        L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID);
        AAIResultWrapper aaiResultWrapper = aaiNetworkResources.queryNetworkWrapperById(l3network);
        CreateNetworkRequest createNetworkRequest = execution.getVariable("createNetworkRequest");
        Optional<Relationships> networkRelationships = aaiResultWrapper.getRelationships();
        if (!networkRelationships.isPresent()) {
            throw (new Exception(ERROR_MSG));
        }
        List<AAIResourceUri> netBindingsUriList = networkRelationships.get().getRelatedUris(Types.VPN_BINDING);
        List<org.onap.so.openstack.beans.RouteTarget> routeTargets = new ArrayList<>();
        for (AAIResourceUri netBindingUri : netBindingsUriList) {
            logger.info("Get Route Targests");
            Optional<VpnBinding> oVpnBinding = aaiNetworkResources.getVpnBinding(netBindingUri);
            if (oVpnBinding.isPresent()) {
                VpnBinding vpnBinding = oVpnBinding.get();
                RouteTargets rts = vpnBinding.getRouteTargets();
                if (rts != null) {
                    List<org.onap.aai.domain.yang.RouteTarget> rtList = rts.getRouteTarget();
                    if (!rtList.isEmpty()) {
                        PropertyMap<org.onap.aai.domain.yang.RouteTarget, org.onap.so.openstack.beans.RouteTarget> personMap = new PropertyMap<org.onap.aai.domain.yang.RouteTarget, org.onap.so.openstack.beans.RouteTarget>() {

                            @Override
                            protected void configure() {
                                map().setRouteTarget(source.getGlobalRouteTarget());
                                map(source.getRouteTargetRole(), destination.getRouteTargetRole());
                            }
                        };
                        modelMapper.addMappings(personMap);
                        for (org.onap.aai.domain.yang.RouteTarget rt : rtList) {
                            org.onap.so.openstack.beans.RouteTarget openstackRtBean = modelMapper.map(rt, org.onap.so.openstack.beans.RouteTarget.class);
                            routeTargets.add(openstackRtBean);
                        }
                    }
                }
            }
        }
        // store route targets data in execution - to be used as part of
        // Network adapter input
        createNetworkRequest.getContrailNetwork().setRouteTargets(routeTargets);
        execution.setVariable("createNetworkRequest", createNetworkRequest);
    } catch (Exception ex) {
        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
    }
}
Also used : L3Network(org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network) ArrayList(java.util.ArrayList) Relationships(org.onap.aaiclient.client.aai.entities.Relationships) RouteTargets(org.onap.aai.domain.yang.RouteTargets) AAIResultWrapper(org.onap.aaiclient.client.aai.entities.AAIResultWrapper) CreateNetworkRequest(org.onap.so.adapters.nwrest.CreateNetworkRequest) AAIResourceUri(org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri) VpnBinding(org.onap.aai.domain.yang.VpnBinding) PropertyMap(org.modelmapper.PropertyMap)

Example 3 with AAIResourceUri

use of org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri in project so by onap.

the class AAIQueryTasks method queryNetworkPolicy.

/**
 * BPMN access method to query data for network policies from the AAI result wrapper From the resulting network
 * policy, the network policy fqdn parameter is added to the network bbobject contrail network policy fqdns list
 *
 * @param execution
 */
public void queryNetworkPolicy(BuildingBlockExecution execution) {
    try {
        L3Network l3network = extractPojosForBB.extractByKey(execution, ResourceKey.NETWORK_ID);
        AAIResultWrapper aaiResultWrapper = aaiNetworkResources.queryNetworkWrapperById(l3network);
        Optional<Relationships> networkRelationships = aaiResultWrapper.getRelationships();
        if (!networkRelationships.isPresent()) {
            throw (new Exception(ERROR_MSG));
        }
        List<AAIResourceUri> netPoliciesUriList = networkRelationships.get().getRelatedUris(Types.NETWORK_POLICY);
        if (!netPoliciesUriList.isEmpty()) {
            for (AAIResourceUri netPolicyUri : netPoliciesUriList) {
                Optional<NetworkPolicy> oNetPolicy = aaiNetworkResources.getNetworkPolicy(netPolicyUri);
                if (oNetPolicy.isPresent()) {
                    l3network.getNetworkPolicies().add(modelMapper.map(oNetPolicy.get(), org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy.class));
                }
            }
        }
    } catch (Exception ex) {
        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
    }
}
Also used : L3Network(org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network) Relationships(org.onap.aaiclient.client.aai.entities.Relationships) NetworkPolicy(org.onap.aai.domain.yang.NetworkPolicy) AAIResourceUri(org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri) AAIResultWrapper(org.onap.aaiclient.client.aai.entities.AAIResultWrapper)

Example 4 with AAIResourceUri

use of org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri in project so by onap.

the class AppcOrchestratorPreProcessor method getVserversForAppc.

protected void getVserversForAppc(BuildingBlockExecution execution, GenericVnf vnf) throws Exception {
    AAIResultWrapper aaiRW = aaiVnfResources.queryVnfWrapperById(vnf);
    if (aaiRW != null && aaiRW.getRelationships().isPresent()) {
        Relationships relationships = aaiRW.getRelationships().get();
        if (relationships != null) {
            List<AAIResourceUri> vserverUris = relationships.getRelatedUris(Types.VSERVER);
            ArrayList<String> vserverIds = new ArrayList<String>();
            ArrayList<String> vserverSelfLinks = new ArrayList<String>();
            for (AAIResourceUri j : vserverUris) {
                String vserverId = j.getURIKeys().get(AAIFluentTypeBuilder.Types.VSERVER.getUriParams().vserverId);
                vserverIds.add(vserverId);
                Optional<Vserver> oVserver = aaiVnfResources.getVserver(j);
                if (oVserver.isPresent()) {
                    Vserver vserver = oVserver.get();
                    String vserverSelfLink = vserver.getVserverSelflink();
                    vserverSelfLinks.add(vserverSelfLink);
                }
            }
            logger.debug("vmIdsArray is: {}", vserverSelfLinks);
            logger.debug("vserverIdsArray is: {}", vserverIds);
            execution.setVariable("vmIdList", vserverSelfLinks);
            execution.setVariable("vserverIdList", vserverIds);
        }
    }
}
Also used : Relationships(org.onap.aaiclient.client.aai.entities.Relationships) Vserver(org.onap.aai.domain.yang.Vserver) ArrayList(java.util.ArrayList) AAIResourceUri(org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri) AAIResultWrapper(org.onap.aaiclient.client.aai.entities.AAIResultWrapper)

Example 5 with AAIResourceUri

use of org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri in project so by onap.

the class AAIClientHelper method getAaiOperationalEnvironment.

/**
 * Get managing ECOMP Environment Info from A&AI
 *
 * @param id = operationalEnvironmentId
 * @return AAIResultWrapper object
 */
public AAIResultWrapper getAaiOperationalEnvironment(String id) {
    AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().operationalEnvironment(id));
    uri.depth(Depth.ZERO);
    AAIResourcesClient client = this.getClient();
    return client.get(uri, NotFoundException.class);
}
Also used : AAIResourceUri(org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri) AAIResourcesClient(org.onap.aaiclient.client.aai.AAIResourcesClient)

Aggregations

AAIResourceUri (org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri)190 Test (org.junit.Test)47 AAIResultWrapper (org.onap.aaiclient.client.aai.entities.AAIResultWrapper)44 AAIResourcesClient (org.onap.aaiclient.client.aai.AAIResourcesClient)26 Relationships (org.onap.aaiclient.client.aai.entities.Relationships)21 ArrayList (java.util.ArrayList)20 HashMap (java.util.HashMap)13 Optional (java.util.Optional)11 AAICommonObjectMapperProvider (org.onap.aaiclient.client.aai.AAICommonObjectMapperProvider)10 Relationship (org.onap.aai.domain.yang.Relationship)8 GenericVnf (org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf)8 Logger (org.slf4j.Logger)8 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)7 Map (java.util.Map)7 RelationshipList (org.onap.aai.domain.yang.RelationshipList)7 Vserver (org.onap.aai.domain.yang.Vserver)7 AAIFluentTypeBuilder (org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder)7 List (java.util.List)6 L3Network (org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network)6 Server (org.openstack4j.model.compute.Server)6