2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
23 var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q, featureFlags) {
25 function getServiceInstance(serviceInstanceIdentifier, findBy) {
26 serviceInstanceIdentifier.trim();
28 return $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + serviceInstanceIdentifier + "/" + findBy + "?r=" + Math.random(), {}, {
29 timeout: PropertyService.getServerResponseTimeoutMsec()
33 function getPnfByName(pnfName) {
34 var deferred = $q.defer();
35 var url = COMPONENT.AAI_GET_PNF_BY_NAME+ encodeURIComponent(pnfName) ;
36 var config = { timeout: PropertyService.getServerResponseTimeoutMsec() };
38 $http.get(url, config)
39 .success(function (response) {
40 deferred.resolve({data: response});
42 .error(function(data, status, headers, config) {
43 deferred.reject({message: data, status: status});
46 return deferred.promise;
48 function getGlobalCustomerIdFromServiceInstanceResponse(response) {
49 var globalCustomerId = "";
50 if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) {
51 var customerIndex = 5;
52 var customerIdIndex = 6;
55 var item = response.data[FIELD.ID.RESULT_DATA][itemIndex];
56 var url = item[FIELD.ID.RESOURCE_LINK];
57 var urlParts = url.split("/");
58 if (urlParts[customerIndex] === FIELD.ID.CUSTOMER) {
59 globalCustomerId = urlParts[customerIdIndex];
62 return globalCustomerId;
65 function searchServiceInstances(query) {
66 return $http.get( COMPONENT.SEARCH_SERVICE_INSTANCES + query, {}, {
67 timeout : PropertyService.getServerResponseTimeoutMsec()
68 }).then(function (response) {
69 var displayData = response.data[FIELD.ID.SERVICE_INSTANCES];
70 if (!displayData || !displayData.length) {
72 globalCustomerId : null,
73 subscriberName : null,
74 serviceType : FIELD.PROMPT.NO_SERVICE_SUB,
75 serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE
78 return {displayData: displayData};
82 function getJoinedQueryString(queries) {
83 return queries.filter(function (val) {return val;}).join("&");
87 getSubscriberName : function(globalCustomerId,
88 successCallbackFunction) {
90 .debug("AaiService:getSubscriberName: globalCustomerId: "
93 COMPONENT.AAI_SUB_DETAILS_PATH
94 + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
96 timeout : PropertyService
97 .getServerResponseTimeoutMsec()
98 }).then(function(response) {
101 result.subscriberName = response.data[FIELD.ID.SUBNAME];
102 result.serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS];
104 successCallbackFunction(result);
106 (UtilityService.runHttpErrorHandler);
109 runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
111 var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +
112 COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) +
113 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
114 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
115 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
116 return $http.get(url, {}, {
119 timeout : PropertyService.getServerResponseTimeoutMsec()
120 }).then(function(response) {
121 if (response.data != null) {
122 successCallback(response);
124 errorCallback(response);
126 }, function(response) {
127 errorCallback(response);
132 getVNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
134 var url = COMPONENT.AAI_GET_VNF_INFO +
135 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
136 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
137 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
139 timeout : PropertyService.getServerResponseTimeoutMsec()
140 }).then(function(response) {
141 if (response.data != null) {
142 successCallback(response);
144 errorCallback(response);
146 }, function(response) {
147 errorCallback(response);
151 getPNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
153 var url = COMPONENT.AAI_GET_PNF_INSTANCE +
154 COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
155 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
156 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
158 timeout : PropertyService.getServerResponseTimeoutMsec()
159 }).then(function(response) {
160 if (response.data != null) {
161 successCallback(response);
163 errorCallback(response);
165 }, function(response) {
166 errorCallback(response);
170 getCRInformationByInstanceId : function (serviceInstanceId) {
172 var deferred = $q.defer();
174 var url = COMPONENT.AAI_GET_CR_INSTANCE +
175 COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
177 timeout : PropertyService.getServerResponseTimeoutMsec()
178 }).then(function(response) {
179 if (response.data != null) {
180 deferred.resolve(response);
182 deferred.resolve(response);
184 }, function(response) {
185 deferred.resolve(response);
187 return deferred.promise;
190 searchServiceInstances: searchServiceInstances,
192 getModelVersionId: function (subscriberId, instanceId) {
193 var globalCustomerIdQuery = COMPONENT.SELECTED_SUBSCRIBER_SUB_PATH + subscriberId;
194 var serviceInstanceQuery = COMPONENT.SELECTED_SERVICE_INSTANCE_SUB_PATH + instanceId;
196 var query = "?" + getJoinedQueryString([globalCustomerIdQuery, serviceInstanceQuery]);
198 var deferred = $q.defer();
200 searchServiceInstances(query).then(function (response) {
201 var displayData = response.displayData;
202 if (displayData[0] && displayData[0].aaiModelVersionId) {
203 deferred.resolve(displayData[0].aaiModelVersionId);
205 deferred.reject(FIELD.ERROR.MODEL_VERSION_ID_MISSING);
207 }).catch(function (err) {
208 deferred.reject(err);
211 return deferred.promise;
214 getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {
217 $http.get( COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {}, {
220 timeout : PropertyService.getServerResponseTimeoutMsec()
221 }).then(function(response) {
223 subscriber = response.data;
224 var subscriberName = subscriber[FIELD.ID.SUBNAME];
225 if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {
226 angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {
227 var serviceInstanceId = [];
228 var serviceType = "";
229 if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {
230 serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];
232 serviceType = FIELD.PROMPT.NO_SERVICE_SUB;
234 if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {
235 angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) {
236 // put them together, i guess
237 var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID],
238 "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],
239 "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],
240 "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]
242 if (selectedServiceInstance != null) {
243 if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {
244 serviceInstanceId.push(inst);
247 serviceInstanceId.push(inst);
251 serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];
253 angular.forEach(serviceInstanceId, function(subVal, subKey) {
255 globalCustomerId : selectedSubscriber,
256 subscriberName : subscriberName,
257 serviceType : serviceType,
258 serviceInstanceId : subVal.serviceInstanceId,
259 aaiModelInvariantId : subVal.aaiModelInvariantId,
261 : subVal.aaiModelVersionId,
262 serviceInstanceName : subVal.serviceInstanceName,
263 isPermitted: serviceSubscription[FIELD.ID.IS_PERMITTED]
269 globalCustomerId : selectedSubscriber,
270 subscriberName : subscriberName,
271 serviceType : FIELD.PROMPT.NO_SERVICE_SUB,
272 serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE
275 successCallback(displayData, subscriberName);
276 }, function(response) {
277 errorCallback(response);});
280 getSubList : function(successCallback, errorCallback ) {
282 $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {}, {
285 timeout : PropertyService.getServerResponseTimeoutMsec()
286 }).then(function(response) {
287 var customerList = [];
288 if (response.data.customer != null) {
289 angular.forEach(response.data.customer, function(subVal, subKey) {
290 var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME],
291 "isPermitted": subVal[FIELD.ID.IS_PERMITTED], };
292 customerList.push(cust);
294 successCallback(customerList);
296 errorCallback(response);
298 },function(response) {
299 errorCallback(response);
303 getServiceInstance : getServiceInstance,
304 getPnfByName : getPnfByName,
306 getGlobalCustomerIdByInstanceIdentifier : function(serviceInstanceIdentifier, findBy) {
307 serviceInstanceIdentifier.trim();
309 return getServiceInstance(serviceInstanceIdentifier, findBy)
310 .then(function (response) {
311 return getGlobalCustomerIdFromServiceInstanceResponse(response);
315 getMultipleValueParamQueryString: function(values, paramSubPath) {
317 return paramSubPath + values.filter(function (val) {return val;}).join("&" + paramSubPath);
321 getJoinedQueryString: getJoinedQueryString,
323 getServices2 : function(successCallback, errorCallback ) {
325 $http.get( FIELD.ID.AAI_GET_SERVICES, {}, {
328 timeout : PropertyService.getServerResponseTimeoutMsec()
329 }).then(function(response) {
330 var customerList = [];
331 if (response.data != null) {
332 var serviceIdList = [];
333 angular.forEach(response.data, function(value, key) {
334 angular.forEach(value, function(subVal, key) {
335 var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] ,
336 "isPermitted" : subVal[FIELD.ID.IS_PERMITTED]
338 };serviceIdList.push(newVal);
341 successCallback(serviceIdList);
343 errorCallback(response);
345 },function(response) {
346 errorCallback(response);
350 getPortMirroringData: function (ids) {
351 var defer = $q.defer();
353 var url = COMPONENT.AAI_GET_PORT_MIRRORING_CONFIGS_DATA + '?configurationIds=' + ids.join(',');
354 $http.get(url).then(function (res) {
356 }).catch(function (err) {
361 return defer.promise;
365 getPortMirroringSourcePorts : function (ids) {
366 var defer = $q.defer();
367 var url = COMPONENT.AAI_GET_PORT_MIRRORING_SOURCE_PORTS +'?configurationIds=' + ids.join(',');
368 $http.get(url).then(function(res){
370 }).catch(function(err) {
374 return defer.promise;
377 getVlansByNetworksMapping : function (globalCustomerId, serviceType, serviceInstanceId, sdcModelUuid) {
378 var defer = $q.defer();
379 if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS)) {
380 var url = COMPONENT.AAI_GET_PROVIDER_NETWORKS_ASSOCIATIONS + '?'
381 + 'globalCustomerId=' + globalCustomerId
382 + '&serviceType=' + serviceType
383 + '&serviceInstanceId=' + serviceInstanceId
384 + '&sdcModelUuid=' + sdcModelUuid
387 $http.get(url).then(function(res){
388 defer.resolve(res.data);
389 }).catch(function(err) {
397 return defer.promise;
400 getSubscriptionServiceTypeList : function(globalCustomerId,
401 successCallbackFunction) {
403 .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "
405 if ( UtilityService.hasContents(globalCustomerId) ) {
407 COMPONENT.AAI_SUB_DETAILS_PATH
408 + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
410 timeout : PropertyService
411 .getServerResponseTimeoutMsec()
412 }).then(function(response) {
413 if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
414 var serviceTypes = [];
415 var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];
417 for (var i = 0; i < serviceSubscriptions.length; i++) {
419 "name":serviceSubscriptions[i][FIELD.ID.SERVICETYPE],
420 "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED],
423 successCallbackFunction(serviceTypes);
425 successCallbackFunction([]);
428 (UtilityService.runHttpErrorHandler);
431 getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,
432 successCallbackFunction) {
434 .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "
436 var url = COMPONENT.AAI_GET_TENANTS
437 + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
441 timeout : PropertyService
442 .getServerResponseTimeoutMsec()
443 }).then(function(response) {
444 var lcpCloudRegionTenants = [];
445 var aaiLcpCloudRegionTenants = response.data;
447 for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {
448 lcpCloudRegionTenants.push({
449 "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],
450 "cloudOwner": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_OWNER],
451 "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],
452 "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID],
453 "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED]});
456 successCallbackFunction(lcpCloudRegionTenants);
457 }).catch(function(error) {
458 (UtilityService.runHttpErrorHandler(error.data, error.status));
461 getSubscribers : function(successCallbackFunction) {
463 .debug("AaiService:getSubscribers");
464 var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();
468 timeout : PropertyService
469 .getServerResponseTimeoutMsec()
470 }).then(function(response) {
472 successCallbackFunction(response.data.customer);
474 successCallbackFunction([]);
477 (UtilityService.runHttpErrorHandler);
479 getProvOptionsFromSystemProp : function(successCallbackFunction) {
481 .debug("AaiService:getProvOptionsFromSystemProp");
482 var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;
486 timeout : PropertyService
487 .getServerResponseTimeoutMsec()
488 }).then(function(response) {
490 successCallbackFunction(response);
492 successCallbackFunction([]);
495 (UtilityService.runHttpErrorHandler);
497 getLoggedInUserID : function(successCallbackFunction, catchCallbackFunction) {
499 .debug("AaiService:getLoggedInUserID");
500 var url = COMPONENT.GET_USER_ID;
504 transformResponse: [function (data) {
507 timeout : PropertyService
508 .getServerResponseTimeoutMsec()
509 }).then(function(response) {
511 successCallbackFunction(response);
513 successCallbackFunction([]);
515 })["catch"] (function(response, status) {
516 if (catchCallbackFunction) {
517 catchCallbackFunction();
519 UtilityService.runHttpErrorHandler(response, status);
522 getServices : function(successCallbackFunction) {
524 .debug("AaiService:getServices");
525 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();
529 timeout: PropertyService
530 .getServerResponseTimeoutMsec()
531 }).then(function (response) {
533 successCallbackFunction(response);
535 successCallbackFunction([]);
538 (UtilityService.runHttpErrorHandler);
541 getAicZones: function (successCallbackFunction) {
543 .debug("getAicZones:getAicZones");
544 var url = COMPONENT.AAI_GET_AIC_ZONES +COMPONENT.ASSIGN + Math.random();
548 timeout : PropertyService
549 .getServerResponseTimeoutMsec()
550 }).then(function(response) {
552 successCallbackFunction(response);
554 successCallbackFunction([]);
557 (UtilityService.runHttpErrorHandler);},
558 getAicZoneForPNF: function (globalCustomerId,serviceType,serviceInstanceId,successCallbackFunction) {
560 .debug("getAicZones:getAicZones");
561 var url = COMPONENT.AAI_GET_AIC_ZONE_FOR_PNF
562 .replace('@serviceInstanceId', serviceInstanceId)
563 .replace('@globalCustomerId', globalCustomerId)
564 .replace('@serviceType', serviceType);
567 timeout : PropertyService
568 .getServerResponseTimeoutMsec()
569 }).then(function(response) {
570 successCallbackFunction(response.data);
572 (UtilityService.runHttpErrorHandler);},
574 getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {
576 .debug("AaiService:getServices");
577 var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
581 timeout : PropertyService
582 .getServerResponseTimeoutMsec()
583 }).then(function(response) {
585 successCallbackFunction(response);
587 successCallbackFunction([]);
590 (UtilityService.runHttpErrorHandler);
592 getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {
594 .debug("AaiService:getServiceModelsByServiceType");
595 var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
599 timeout : PropertyService
600 .getServerResponseTimeoutMsec()
601 }).then(function(response) {
603 successCallbackFunction(response);
605 successCallbackFunction([]);
608 (UtilityService.runHttpErrorHandler);
611 getVnfsByCustomerIdAndServiceType: function(globalSubscriberId, serviceType){
612 var deferred = $q.defer();
614 if (UtilityService.hasContents(globalSubscriberId) &&
615 UtilityService.hasContents(serviceType) ) {
617 $http.get(COMPONENT.AAI_GET_VNF_BY_CUSTOMERID_AND_SERVICETYPE + globalSubscriberId + COMPONENT.FORWARD_SLASH
619 .success(function (response) {
621 deferred.resolve({data: response});
623 deferred.resolve({data: []});
625 }).error(function (data, status, headers, config) {
626 deferred.reject({message: data, status: status});
630 return deferred.promise;
633 getVnfVersionsByInvariantId: function(modelInvariantId){
634 var deferred = $q.defer();
636 if (UtilityService.hasContents(modelInvariantId)) {
637 var body = {"versions": modelInvariantId};
638 $http.post(( COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID),body)
640 .success(function (response) {
642 deferred.resolve({data: response});
644 deferred.resolve({data: []});
646 }).error(function (data, status, headers, config) {
647 deferred.reject({message: data, status: status});
651 return deferred.promise;
656 getSubscriberServiceTypes: function(subscriberUuid) {
657 var deferred = $q.defer();
658 $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);
660 if (UtilityService.hasContents(subscriberUuid)) {
661 $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + subscriberUuid + COMPONENT.ASSIGN + Math.random())
662 .success(function (response) {
663 if(response && [FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
664 deferred.resolve({data: response[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]});
666 deferred.resolve({data: []});
668 }).error(function (data, status, headers, config) {
669 deferred.reject({message: data, status: status});
673 return deferred.promise;
675 getVnfInstancesList: function(globalSubscriberId, serviceType, modelVersionId ,modelInvariantId, cloudRegionId) {
676 var deferred = $q.defer();
677 $http.get([COMPONENT.AAI_GET_VNF_INSTANCES_LIST,
683 .join(COMPONENT.FORWARD_SLASH))
684 .success(function (response) {
685 deferred.resolve(response);
686 }).error(function (data, status) {
687 deferred.reject({message: data, status: status});
689 return deferred.promise;
691 getPnfInstancesList: function (globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegionId, equipVendor, equipModel) {
692 var deferred = $q.defer();
693 $http.get([COMPONENT.AAI_GET_PNF_INSTANCES_LIST,
694 globalCustomerId, serviceType,
695 modelVersionId, modelInvariantId,
697 equipVendor, equipModel
698 ].join(COMPONENT.FORWARD_SLASH))
699 .success(function (response) {
700 deferred.resolve(response);
701 }).error(function (data, status) {
702 deferred.reject({message: data, status: status});
704 return deferred.promise;
706 getByUri: function(uri) {
707 var deferred = $q.defer();
709 $http.get(COMPONENT.AAI_GET_BY_URI + uri)
710 .success(function (response) {
711 deferred.resolve({data: []});
712 }).error(function (data, status, headers, config) {
713 deferred.reject({message: data, status: status});
716 return deferred.promise;
718 getConfiguration: function(configurationId) {
719 var deferred = $q.defer();
721 $http.get(COMPONENT.AAI_GET_CONFIGURATION + configurationId)
722 .success(function (response) {
723 deferred.resolve({data: []});
724 }).error(function (data, status, headers, config) {
725 deferred.reject({message: data, status: status});
728 return deferred.promise;
731 getInstanceGroupsByVNFInstanceId: function (vnf_instance_id, successCallback, errorCallback) {
732 var url = COMPONENT.AAI_GET_INSTANCE_GROUPS_BY_VNF_INSTANCE_ID_PATH + "/" + vnf_instance_id;
735 timeout: PropertyService.getServerResponseTimeoutMsec()
736 }).then(function (response) {
737 successCallback(response);
738 }, function (response) {
739 errorCallback(response);
743 postPOMBAverificationRequest: function (url, data, config) {
744 $http.post(url, data, config)
745 .success(function (data, status, headers, config) {
746 //If at some point in the future the result should be handled - this should be the entry point.
747 log.debug("POMBA was called successfully with data: " + data);
749 .error(function (data, status, header, config) {
750 log.debug("Error: " +
752 "status: " + status +
753 "headers: " + header +
754 "config: " + config);
758 getHomingData: function(vnfInstanceId, vfModuleId) {
759 var url = COMPONENT.AAI_GET_HOMING_DATA.replace('@vnfInstanceId', vnfInstanceId)
760 .replace('@vfModuleId', vfModuleId);
762 var deferred = $q.defer();
765 .success(function (response) {
766 deferred.resolve({data: response});
767 }).error(function (data, status, headers, config) {
768 deferred.reject({message: data, status: status});
771 return deferred.promise;
775 removeVendorFromCloudOwner: function(cloudOwner) {
776 // Handle the case where cloud owner is formatted
777 // like "{vendor}-{cloud-name}"
778 return cloudOwner.trim().replace(/^[^-]*-/, '');
783 appDS2.factory("AaiService", ["$http", "$log", "PropertyService",
784 "UtilityService", "COMPONENT", "FIELD", "$q", "featureFlags", AaiService]);