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 java.util.Collection;
25 import java.util.List;
26 import javax.ws.rs.core.Response;
27 import org.onap.vid.aai.AaiGetVnfResponse;
28 import org.onap.vid.aai.AaiResponse;
29 import org.onap.vid.aai.AaiResponseTranslator;
30 import org.onap.vid.aai.SubscriberFilteredResults;
31 import org.onap.vid.aai.model.AaiGetInstanceGroupsByCloudRegion;
32 import org.onap.vid.aai.model.AaiGetOperationalEnvironments.OperationalEnvironmentList;
33 import org.onap.vid.aai.model.AaiGetPnfs.Pnf;
34 import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
35 import org.onap.vid.aai.model.ModelVer;
36 import org.onap.vid.aai.model.PortDetailsTranslator;
37 import org.onap.vid.asdc.beans.Service;
38 import org.onap.vid.model.SubscriberList;
39 import org.onap.vid.model.aaiTree.Network;
40 import org.onap.vid.model.aaiTree.RelatedVnf;
41 import org.onap.vid.model.aaiTree.VpnBinding;
42 import org.onap.vid.roles.RoleValidator;
45 * Created by Oren on 7/4/17.
47 public interface AaiService {
50 SubscriberFilteredResults getFullSubscriberList(RoleValidator roleValidator);
52 AaiResponse getSubscriberData(String subscriberId, RoleValidator roleValidator, boolean omitServiceInstances);
54 AaiResponse getServiceInstanceSearchResults(String subscriberId, String instanceIdentifier, RoleValidator roleProvider, List<String> owningEntities, List<String> projects);
56 AaiResponse<SubscriberList> getFullSubscriberList();
58 AaiResponse getServices(RoleValidator roleValidator);
60 AaiResponse getAaiZones();
62 AaiResponse getNetworkCollectionDetails(String serviceInstanceId);
64 AaiResponse<AaiGetInstanceGroupsByCloudRegion> getInstanceGroupsByCloudRegion(String cloudOwner, String cloudRegionId, String networkFunction);
66 AaiResponse<OperationalEnvironmentList> getOperationalEnvironments(String operationalEnvironmentType, String operationalEnvironmentStatus);
68 AaiResponse getAicZoneForPnf(String globalCustomerId , String serviceType , String serviceId);
70 AaiResponse<AaiGetVnfResponse> getVNFData(String globalSubscriberId, String serviceType);
72 AaiResponse<GetTenantsResponse[]> getTenants(String globalCustomerId, String serviceType, RoleValidator roleValidator);
74 AaiResponse getVNFData(String globalSubscriberId, String serviceType, String serviceInstanceId);
76 AaiResponse getNodeTemplateInstances(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion);
78 Response getVersionByInvariantId(List<String> modelInvariantId);
80 Collection<Service> getServicesByDistributionStatus();
82 AaiResponse<Pnf> getSpecificPnf(String pnfId);
84 List<String> getServiceInstanceAssociatedPnfs(String globalCustomerId, String serviceType, String serviceInstanceId);
86 AaiResponse getPNFData(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion, String equipVendor, String equipModel);
88 AaiResponseTranslator.PortMirroringConfigData getPortMirroringConfigData(String configurationId);
90 List<PortDetailsTranslator.PortDetails> getPortMirroringSourcePorts(String configurationId);
92 AaiResponse getInstanceGroupsByVnfInstanceId(String vnfInstanceId);
94 String getAAIServiceTree(String globalCustomerId, String serviceType, String serviceInstanceId);
96 GetTenantsResponse getHomingDataByVfModule(String vnfInstanceId, String vfModuleId);
98 List<RelatedVnf> searchGroupMembers(String globalCustomerId, String serviceType, String invariantId, String groupType, String groupRole);
100 List<VpnBinding> getVpnListByVpnType(String vpnType);
102 List<Network> getL3NetworksByCloudRegion(String cloudRegionId, String tenantId, String networkRole);
104 ModelVer getNewestModelVersionByInvariantId(String modelInvariantId);
106 AaiResponse getServiceInstanceBySubscriberIdAndInstanceIdentifier(String globalCustomerId, String identifierType, String serviceIdentifier);
107 AaiResponse getServiceInstanceSearchResultsByIdentifierType(String subscriberId, String instanceIdentifier, String instanceIdentifierType, RoleValidator roleValidator, List<String> owningEntities, List<String> projects);
108 AaiResponse getServiceInstanceBySubscriberIdAndSIID(String globalCustomerId, String serviceType, String serviceId);