910b341123e05c1e5f33405c103affc155e2cc79
[vid.git] / vid-app-common / src / main / java / org / onap / vid / services / AaiService.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
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
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
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=========================================================
20  */
21
22 package org.onap.vid.services;
23
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;
38
39 import javax.ws.rs.core.Response;
40 import java.util.Collection;
41 import java.util.List;
42
43 /**
44  * Created by Oren on 7/4/17.
45  */
46 public interface AaiService {
47
48
49     SubscriberFilteredResults getFullSubscriberList(RoleValidator roleValidator);
50
51     AaiResponse getSubscriberData(String subscriberId, RoleValidator roleValidator);
52
53     AaiResponse getServiceInstanceSearchResults(String subscriberId, String instanceIdentifier, RoleValidator roleProvider, List<String> owningEntities, List<String> projects);
54
55     HttpResponse<SubscriberList> getFullSubscriberList();
56
57     AaiResponse getServices(RoleValidator roleValidator);
58     
59     AaiResponse getAaiZones();
60
61     AaiResponse getNetworkCollectionDetails(String serviceInstanceId);
62
63     AaiResponse<AaiGetInstanceGroupsByCloudRegion> getInstanceGroupsByCloudRegion(String cloudOwner, String cloudRegionId, String networkFunction);
64
65     AaiResponse<OperationalEnvironmentList> getOperationalEnvironments(String operationalEnvironmentType, String operationalEnvironmentStatus);
66
67     AaiResponse getAicZoneForPnf(String globalCustomerId , String serviceType , String serviceId);
68
69     AaiResponse<AaiGetVnfResponse> getVNFData(String globalSubscriberId, String serviceType);
70
71     AaiResponse<GetTenantsResponse[]> getTenants(String globalCustomerId, String serviceType, RoleValidator roleValidator);
72
73     AaiResponse getVNFData(String globalSubscriberId, String serviceType, String serviceInstanceId);
74
75     AaiResponse getNodeTemplateInstances(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion);
76
77     Response getVersionByInvariantId(List<String> modelInvariantId);
78
79     Collection<Service> getServicesByDistributionStatus();
80
81     AaiResponse<Pnf> getSpecificPnf(String pnfId);
82
83     List<String> getServiceInstanceAssociatedPnfs(String globalCustomerId, String serviceType, String serviceInstanceId);
84
85     AaiResponse getPNFData(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion, String equipVendor, String equipModel);
86
87     AaiResponseTranslator.PortMirroringConfigData getPortMirroringConfigData(String configurationId);
88
89     List<PortDetailsTranslator.PortDetails> getPortMirroringSourcePorts(String configurationId);
90
91     AaiResponse getInstanceGroupsByVnfInstanceId(String vnfInstanceId);
92
93     String getAAIServiceTree(String globalCustomerId, String serviceType, String serviceInstanceId);
94
95     GetTenantsResponse getHomingDataByVfModule(String vnfInstanceId, String vfModuleId);
96
97     List<RelatedVnf> searchGroupMembers(String globalCustomerId, String serviceType, String invariantId, String groupType, String groupRole);
98 }