2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.vid.services;
24 import io.joshworks.restclient.http.HttpResponse;
25 import org.onap.vid.aai.AaiGetVnfResponse;
26 import org.onap.vid.aai.AaiResponse;
27 import org.onap.vid.aai.AaiResponseTranslator;
28 import org.onap.vid.aai.SubscriberFilteredResults;
29 import org.onap.vid.aai.model.AaiGetInstanceGroupsByCloudRegion;
30 import org.onap.vid.aai.model.AaiGetOperationalEnvironments.OperationalEnvironmentList;
31 import org.onap.vid.aai.model.AaiGetPnfs.Pnf;
32 import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
33 import org.onap.vid.aai.model.PortDetailsTranslator;
34 import org.onap.vid.asdc.beans.Service;
35 import org.onap.vid.model.SubscriberList;
36 import org.onap.vid.model.aaiTree.RelatedVnf;
37 import org.onap.vid.roles.RoleValidator;
39 import javax.ws.rs.core.Response;
40 import java.util.Collection;
41 import java.util.List;
44 * Created by Oren on 7/4/17.
46 public interface AaiService {
49 SubscriberFilteredResults getFullSubscriberList(RoleValidator roleValidator);
51 AaiResponse getSubscriberData(String subscriberId, RoleValidator roleValidator, boolean omitServiceInstances);
53 AaiResponse getServiceInstanceSearchResults(String subscriberId, String instanceIdentifier, RoleValidator roleProvider, List<String> owningEntities, List<String> projects);
55 HttpResponse<SubscriberList> getFullSubscriberList();
57 AaiResponse getServices(RoleValidator roleValidator);
59 AaiResponse getAaiZones();
61 AaiResponse getNetworkCollectionDetails(String serviceInstanceId);
63 AaiResponse<AaiGetInstanceGroupsByCloudRegion> getInstanceGroupsByCloudRegion(String cloudOwner, String cloudRegionId, String networkFunction);
65 AaiResponse<OperationalEnvironmentList> getOperationalEnvironments(String operationalEnvironmentType, String operationalEnvironmentStatus);
67 AaiResponse getAicZoneForPnf(String globalCustomerId , String serviceType , String serviceId);
69 AaiResponse<AaiGetVnfResponse> getVNFData(String globalSubscriberId, String serviceType);
71 AaiResponse<GetTenantsResponse[]> getTenants(String globalCustomerId, String serviceType, RoleValidator roleValidator);
73 AaiResponse getVNFData(String globalSubscriberId, String serviceType, String serviceInstanceId);
75 AaiResponse getNodeTemplateInstances(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion);
77 Response getVersionByInvariantId(List<String> modelInvariantId);
79 Collection<Service> getServicesByDistributionStatus();
81 AaiResponse<Pnf> getSpecificPnf(String pnfId);
83 List<String> getServiceInstanceAssociatedPnfs(String globalCustomerId, String serviceType, String serviceInstanceId);
85 AaiResponse getPNFData(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion, String equipVendor, String equipModel);
87 AaiResponseTranslator.PortMirroringConfigData getPortMirroringConfigData(String configurationId);
89 List<PortDetailsTranslator.PortDetails> getPortMirroringSourcePorts(String configurationId);
91 AaiResponse getInstanceGroupsByVnfInstanceId(String vnfInstanceId);
93 String getAAIServiceTree(String globalCustomerId, String serviceType, String serviceInstanceId);
95 GetTenantsResponse getHomingDataByVfModule(String vnfInstanceId, String vfModuleId);
97 List<RelatedVnf> searchGroupMembers(String globalCustomerId, String serviceType, String invariantId, String groupType, String groupRole);