Learn to get all model versions sorted from high to low
[vid.git] / vid-app-common / src / main / java / org / onap / vid / aai / AaiClientInterface.java
index 5f69b87..c322afa 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -28,27 +28,34 @@ import javax.ws.rs.core.Response;
 import org.onap.vid.aai.model.AaiGetOperationalEnvironments.OperationalEnvironmentList;
 import org.onap.vid.aai.model.AaiGetPnfs.Pnf;
 import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
+import org.onap.vid.aai.model.ModelVer;
+import org.onap.vid.aai.model.OwningEntityResponse;
 import org.onap.vid.aai.model.PortDetailsTranslator;
+import org.onap.vid.aai.model.ProjectResponse;
 import org.onap.vid.aai.model.Properties;
 import org.onap.vid.aai.model.ResourceType;
-import org.onap.vid.services.ProbeInterface;
 import org.onap.vid.model.SubscriberList;
+import org.onap.vid.services.ProbeInterface;
+import org.springframework.http.HttpMethod;
+
 /**
  * Created by Oren on 7/4/17.
  */
-public interface AaiClientInterface  extends ProbeInterface {
+public interface AaiClientInterface extends ProbeInterface {
 
     boolean isNodeTypeExistsByName(String name, ResourceType type);
 
     <T> T typedAaiGet(URI path, Class<T> clz);
 
+    <T> T typedAaiRest(URI path, Class<T> clz, String payload, HttpMethod method, boolean propagateExceptions);
+
     AaiResponse<SubscriberList> getAllSubscribers();
 
-    AaiResponse getSubscriberData(String subscriberId);
+    AaiResponse<Services> getSubscriberData(String subscriberId, boolean omitServiceInstances);
 
     AaiResponse getServices();
 
-    AaiResponse getServicesByOwningEntityId(List<String> owningEntityIds);
+    AaiResponse<OwningEntityResponse> getServicesByOwningEntityId(List<String> owningEntityIds);
 
     AaiResponse<GetTenantsResponse[]> getTenants(String globalCustomerId, String serviceType);
 
@@ -60,7 +67,7 @@ public interface AaiClientInterface  extends ProbeInterface {
 
     AaiResponse getInstanceGroupsByCloudRegion(String cloudOwner, String cloudRegionId, String networkFunction);
 
-    AaiResponse getVNFData(String globalSubscriberId, String serviceType);
+    AaiResponse<AaiGetVnfResponse> getVNFData(String globalSubscriberId, String serviceType);
 
     AaiResponse getVNFData(String globalSubscriberId, String serviceType, String serviceInstanceId);
 
@@ -68,10 +75,14 @@ public interface AaiClientInterface  extends ProbeInterface {
 
     Response getVersionByInvariantId(List<String> modelInvariantId);
 
-    AaiResponse getServicesByProjectNames(List<String> projectNames);
+    ModelVer getLatestVersionByInvariantId(String modelInvariantId);
+
+    List<ModelVer> getSortedVersionsByInvariantId(String modelInvariantId);
+
+    AaiResponse<ProjectResponse> getServicesByProjectNames(List<String> projectNames);
 
     AaiResponse getServiceModelsByDistributionStatus();
-       
+
     AaiResponse getPNFData(String globalCustomerId, String serviceType, String modelVersionId, String modelInvariantId, String cloudRegion, String equipVendor, String equipModel);
 
     AaiResponse<Pnf> getSpecificPnf(String pnfId);
@@ -95,4 +106,6 @@ public interface AaiClientInterface  extends ProbeInterface {
     void resetCache(String cacheName);
 
     Map<String, Properties> getCloudRegionAndTenantByVnfId(String vnfId);
+
+    AaiResponse<AaiGetVnfResponse> getVnfsByParamsForChangeManagement(String subscriberId, String serviceType, String nfRole, String cloudRegion);
 }