function getUVEKeys (req, res, appData) { var url = '/analytics/uve-types'; var isProject = req.query['isProject'], globalUVEKeys = [], projectUVEKeys = [], uveKeys = []; opApiServer.apiGet(url, appData, function(err, data) { if (err || (null == data)) { commonUtils.handleJSONResponse(err, res, null); } else { for(var key in data) { if (data[key] != null) { var uveObj = data[key]; globalUVEKeys.push(key); if (uveObj['global_system_object'] == false) { projectUVEKeys.push(key); } } } uveKeys = (isProject === 'true') ? projectUVEKeys : globalUVEKeys; commonUtils.handleJSONResponse(null, res, uveKeys); } }); }
/* * @listAllServiceInstancesDetails * public function * URL /api/tenants/config/service-instances-details * Gets the details of service-instances across all the projects */ function listAllServiceInstancesDetails (req, res, appData) { var siURL = '/service-instances'; var siDataObjArr = []; configApiServer.apiGet(siURL, appData, function(err, data) { if ((null != err) || (null == data) || (null == data['service-instances'])) { commonUtils.handleJSONResponse(err, res, []); return; } var siData = data['service-instances']; var siCnt = siData.length; for (var i = 0; i < siCnt; i++) { var siReqURL = '/service-instance/' + siData[i]['uuid']; commonUtils.createReqObj(siDataObjArr, siReqURL, global.HTTP_REQUEST_GET, null, null, null, appData); } if (!siDataObjArr.length) { commonUtils.handleJSONResponse(err, res, []); return; } async.map(siDataObjArr, commonUtils.getAPIServerResponse(configApiServer.apiGet, false), function(err, results) { commonUtils.handleJSONResponse(err, res, results); }); }); }
function readLRSendDataUI (logicalRouterGetURL, appData, response) { configApiServer.apiGet(logicalRouterGetURL, appData, function (error, data) { logicalRouterSendResponse(error, data, response); }); }
/** * @updateVMInterfaceProperties * private function */ function updateVMInterfaceProperties(response, appData, options) { var interfaceUrl = '/virtual-machine-interface/' + options.interfaceUUID, defaultPCAPAnalyzerFQN = options.defaultPCAPAnalyzerFQN, direction = options.direction, projectFQN = options.projectFQN; configApiServer.apiGet(interfaceUrl, appData, function (error, interfaceJSON) { var interfaceProperties; if (error) { commonUtils.handleJSONResponse(error, response, null); } else { interfaceProperties = interfaceJSON['virtual-machine-interface']['virtual_machine_interface_properties']; if (interfaceProperties == null) { interfaceJSON['virtual-machine-interface']['virtual_machine_interface_properties'] = {interface_mirror: getInterfaceMirrorProperty(defaultPCAPAnalyzerFQN, direction)}; } else { interfaceProperties['interface_mirror'] = getInterfaceMirrorProperty(defaultPCAPAnalyzerFQN, direction); } configApiServer.apiPut(interfaceUrl, interfaceJSON, appData, function (error, jsonData) { var analyzerNotReadyMsg = 'Interface packet-capture analyzer is not ready. Please try again after few minutes.'; if (error) { logutils.logger.error(error.stack); commonUtils.handleJSONResponse(error, response, null); } else if (options.action == 'start') { getPCAPAnalyzerVMId(response, appData, options, analyzerNotReadyMsg, function (response, responseJSON) { commonUtils.handleJSONResponse(null, response, responseJSON); }); } else { commonUtils.handleJSONResponse(null, response, jsonData); } }); } }); };
/** * @siFetchPolicyCb * private function * 1. Get policy id for given list of SIs of 'analyzer' type * 2. Required a list of dynamic policy name for given list of SIs of 'analyzer' type */ function siFetchPolicyCb(response, appData, filteredResults, dynamicPolicyNames) { var serviceInstances = {}, policyUrl = '/network-policys'; if (filteredResults.length > 0) { policyUrl += '?parent_type=project&parent_fq_name_str=' + filteredResults[0]['ConfigData']['service-instance']['fq_name'][0] + ":" + filteredResults[0]['ConfigData']['service-instance']['fq_name'][1]; configApiServer.apiGet(policyUrl, appData, function (error, data) { var policys, policyName, index, results = []; if (!error) { policys = data['network-policys']; for (var i = 0; i < policys.length; i++) { policyName = policys[i]['fq_name'][2]; index = dynamicPolicyNames.indexOf(policyName); if(index != -1) { filteredResults[index]['ConfigData']['service-instance']['policyuuid'] = policys[i]['uuid']; results[results.length] = filteredResults[index]; } } } serviceInstances['service_instances'] = results; commonUtils.handleJSONResponse(error, response, serviceInstances); }); } else { serviceInstances['service_instances'] = filteredResults; commonUtils.handleJSONResponse(null, response, serviceInstances); } };
function(error, vmData) { if(error) { if(error.responseCode === 409){ var vmIdIndex = error.message.indexOf(':') + 1; var oldVmId = error.message.substr(vmIdIndex).trim(); configApiServer.apiGet('/virtual-machine/' + oldVmId, appData, function(err, oldVmData) { if(err || oldVmData['virtual-machine'] == null || (oldVmData['virtual-machine'] && oldVmData['virtual-machine']['virtual_machine_interface_back_refs'] == null)) { commonUtils.handleJSONResponse(err, response, null); return; } var oldVmiId = oldVmData['virtual-machine']['virtual_machine_interface_back_refs'][0]['uuid']; ports.deletePortsCB({'appData' : appData, 'uuid' : oldVmiId, 'request' : request}, function(mapError, deleteData) { configApiServer.apiPost('/virtual-machines', vmPostData, appData, function(newVmErr, newVmData) { setVMRefToVMI(vmiId, name, appData, response); }); }); }); } else { commonUtils.handleJSONResponse(error, response, null); return; } } else { setVMRefToVMI(vmiId, name, appData, response); } }
function(error, subnetDetails) { if(error || subnetDetails['subnet'] == null) { commonUtils.handleJSONResponse(error, response, null); return; } configApiServer.apiGet('/virtual-machine-interface/' + vmiId, appData, function(err, vmiData) { if(err || vmiData['virtual-machine-interface'] == null) { commonUtils.handleJSONResponse(err, response, null); return; } var subnet = subnetDetails['subnet']; subnet['virtual_machine_interface_refs'] = [{"to" : vmiData['virtual-machine-interface'].fq_name}]; configApiServer.apiPut('/subnet/' + subnet.uuid, subnetDetails, appData, function(er, updatedSubnetData) { if(er) { commonUtils.handleJSONResponse(er, response, null); return; } commonUtils.handleJSONResponse(null, response, updatedSubnetData); } ); } ); }
function getAllProjectAsync (dataObj, callback) { var projURL, cookieDomain, projects, currentDomain; if(dataObj.type === identity) { authApi.getProjectList(dataObj.request, dataObj.appData, function(error, identityData) { if(dataObj.parentId) { cookieDomain = commonUtils.getValueByJsonPath(dataObj, "request;cookies;domain", "", false); projects = commonUtils.getValueByJsonPath(identityData, "projects", [], false); projects = _.filter(projects, function(project){ currentDomain = commonUtils.getValueByJsonPath(project, "fq_name;0", [], false); return cookieDomain === currentDomain ? true : false; }); identityData = {"projects": projects}; } callback(null, {error: error, data: identityData}); }); } else { projURL = "/projects"; if(dataObj.parentId) { projURL += "?parent_id=" + dataObj.parentId; } configApiServer.apiGet(projURL, dataObj.appData, function(error, configData) { callback(null, {error: error, data: configData}); }); } };
function listPhysicalInterfaces (req, res, appData) { var url = '/physical-interfaces'; configApiServer.apiGet(url, appData, function(error, data) { commonUtils.handleJSONResponse(error, res, data); }); }
/** * @deleteVirtualDNS * public function * 1. URL /api/tenants/config/virtual-DNS/:id * 2. Deletes the virtual DNS from config api server */ function deleteVirtualDNS (request, response, appData) { var vdnsDelURL = '/virtual-DNS/'; var vdnsId = null; var requestParams = url.parse(request.url, true); if (vdnsId = request.param('id').toString()) { vdnsDelURL += vdnsId; } else { error = new appErrors.RESTServerError('Virtual DNS ID is required.'); commonUtils.handleJSONResponse(error, response, null); return; } configApiServer.apiGet(vdnsDelURL, appData, function(err, configData) { /* Now delete the ipam_refs */ var vdnsPostData = commonUtils.cloneObj(configData); delete vdnsPostData['virtual-DNS']['network_ipam_back_refs']; updateVirtualDnsAssocIpamRead(err, configData, vdnsPostData, vdnsId, appData, function(err, data) { if (err) { deleteVirtualDNSCb(err, null, response, appData); return; } /* Now delete the virtual DNS */ configApiServer.apiDelete(vdnsDelURL, appData, function(error, data) { deleteVirtualDNSCb(error, data, response, appData); }); }); }); }
/** * listVirtualDNSsFromAllDomains * private function * 1. Callback for listVirtualDNSs * 2. Reads the response of all Virtual DNS from all domains * list from config api server and sends it back to the client. */ function listVirtualDNSsFromAllDomains (request, response, appData) { //Get Virtuanl DNS Servers from all domains //the user has access to. var vdnsURL = '/virtual-DNSs'; configApiServer.apiGet(vdnsURL, appData, function(error, data) { if (error) { commonUtils.handleJSONResponse(error, response, null); return; } if(data && data.hasOwnProperty("virtual-DNSs") && data["virtual-DNSs"].length > 0) { var vdns = data["virtual-DNSs"]; var result = {}; if(vdns.length > 0) { result["virtual_DNSs"] = []; } for(var i=0; i<vdns.length; i++) { result["virtual_DNSs"][i] = {}; result["virtual_DNSs"][i]["virtual-DNS"] = vdns[i]; } commonUtils.handleJSONResponse(error, response, result); } else { var result = { "virtual_DNSs" : [] }; commonUtils.handleJSONResponse(error, response, result); } } ); }
/** * @getPhysicalRouters * public function * 1. URL /api/tenants/config/physical-routers-details * 2. Gets list of physical-routers from config api server * 3. Calls getPhysicalRoutersCb that process data from config * api server and sends back the http response. */ function getPhysicalRouters (request, response, appData) { configApiServer.apiGet('/physical-routers', appData, function(error, data) { getPhysicalRoutersDetails(error, data, response, appData); }); }
function getControlNodeDetails (req, res, appData) { var hostName = req.param('hostname'); var url = '/analytics/uves/control-node/' + hostName + '?flat'; var resultJSON = {}; opApiServer.apiGet(url, appData, commonUtils.doEnsureExecution(function(err, data) { if ((null != err) || (null == data)) { data = {}; infraCmn.getDataFromConfigNode('bgp-routers', hostName, appData, data, function(err, resultJSON) { commonUtils.handleJSONResponse(err, res, resultJSON); }); } else { var postData = {}; postData['kfilt'] = [hostName + '*:contrail-control*']; infraCmn.addGeneratorInfoToUVE(postData, data, hostName, ['contrail-control'], appData, function(err, data) { infraCmn.getDataFromConfigNode('bgp-routers', hostName, appData, data, function(err, data) { commonUtils.handleJSONResponse(err, res, data); }); }); } }, global.DEFAULT_CB_TIMEOUT)); }
/** * @readProjectQuotas * private function * 1. Needs project uuid in string format */ function readProjectQuotas (userData, callback) { var projectIdStr = userData['id']; var appData = userData['appData']; var quotasGetURL = '/project/'; if (projectIdStr.length) { quotasGetURL += projectIdStr; } else { error = new appErrors.RESTServerError('Add Project id'); callback(error, null); return; } configApiServer.apiGet(quotasGetURL, appData, function(error, data) { if (error) { callback(error, null); return; } if(data["project"]["quota"] != undefined) { getProjectQuotasCb(error, data, appData, callback); } else { getDefaultProjectQuotas(data, appData, callback); } } ); }
function (err, instanceData) { var interfaceList = commonUtils.getValueByJsonPath(instanceData, "0;UveVirtualMachineAgent;interface_list", []); interfaceUrl = "/analytics/uves/virtual-machine-interface/*?kfilt=" + interfaceList.join(",") + "&cfilt=" + interfaceFilters.join(","); opApiServer.apiGet(interfaceUrl, appData, function (err, interfaceData) { var interfaceDetailsList = interfaceData['value'], networkList = [], interfaceMap = {}, network; for (var i = 0; i < interfaceDetailsList.length; i++) { network = interfaceDetailsList[i]['value']['UveVMInterfaceAgent']['virtual_network']; interfaceMap[network] = interfaceDetailsList[i]; networkList.push(network); } instanceData[0]['UveVirtualMachineAgent']['interface_map'] = interfaceMap; networkUrl = '/analytics/uves/virtual-network/*?kfilt=' + networkList.join(',') + "&cfilt=" + networkFilters.join(","); opApiServer.apiGet(networkUrl, appData, function (err, networkData) { processInstanceConnectedGraph({instance: instanceData[0], networks: networkData['value']}, function (error, connectedGraphJSON) { commonUtils.handleJSONResponse(null, res, connectedGraphJSON); }); }); }); });
/** * @deletePolicy * public function * 1. URL /api/tenants/config/policy/:id * 2. Deletes the policy from config api server */ function deletePolicy(request, response, appData) { var polDelURL = '/network-policy/'; var policyId = null; var requestParams = url.parse(request.url, true); if (policyId = request.param('id').toString()) { polDelURL += policyId; } else { error = new appErrors.RESTServerError('Provide Policy Id'); commonUtils.handleJSONResponse(error, response, null); return; } configApiServer.apiGet(polDelURL, appData, function (err, configData) { if ('virtual_network_back_refs' in configData['network-policy']) { delete configData['network-policy']['virtual_network_back_refs']; updatePolicyWithVNs(configData, policyId, appData, function (err, data) { configApiServer.apiDelete(polDelURL, appData, function (error, data) { deletePolicyCb(error, data, response) }); }); } else { configApiServer.apiDelete(polDelURL, appData, function (error, data) { deletePolicyCb(error, data, response) }); } }); }
function getDBUsage (req, res, appData) { var url = '/analytics/uves/database-node/*'; opApiServer.apiGet(url, appData, function (error, resultJSON) { if(!error) { var resultsArray = resultJSON['value'], responseJSON = []; for(var i = 0; resultsArray != null && i < resultsArray.length; i++) { var analyticsDBStats = {}, dbUsageInfo = resultsArray[i]['value']['DatabaseUsageInfo'], key; analyticsDBStats['name'] = resultsArray[i]['name']; if(dbUsageInfo != null) { for(key in dbUsageInfo) { analyticsDBStats[key] = dbUsageInfo[key]; } } responseJSON.push(analyticsDBStats); } commonUtils.handleJSONResponse(null, res, responseJSON); } else { logutils.logger.error(error.stack); commonUtils.handleJSONResponse(error, res, null); } }); }
/** * @deletePolicyEntry * public function * 1. URL - Delete * /api/tenants/config/policy/:id/network-policy-entries/ruleid * 2. Sets Post Data and sends back the policy to client */ function deletePolicyEntry(request, response, appData) { var policyId = null; var ruleId = null; var polGetURL = '/network-policy/'; if (policyId = request.param('id').toString()) { polGetURL += policyId; } else { error = new appErrors.RESTServerError('Add Policy ID'); commonUtils.handleJSONResponse(error, response, null); return; } if (!(ruleId = request.param('ruleid').toString())) { error = new appErrors.RESTServerError('Add Rule ID'); commonUtils.handleJSONResponse(error, response, null); return; } configApiServer.apiGet(polGetURL, appData, function (error, data) { deletePolicyRule(error, data, ruleId, policyId, response, appData); }); }
function getControlNodesSummary (req, res, appData) { var url = '/bgp-routers'; var resultJSON = []; var configData = [], uveData = []; var addGen = req.param('addGen'); configApiServer.apiGet(url, appData, commonUtils.doEnsureExecution(function(err, data) { getControlNodeDetailConfigUVEData(data, addGen, appData, function(err, configUVEData, bgpRtrCnt) { if (null != err) { callback(null, []); return; } for (var i = 0; i < bgpRtrCnt; i++) { configData[i] = configUVEData[i]; } var cnt = configUVEData.length; for (i = bgpRtrCnt; i < cnt; i++) { uveData[i - bgpRtrCnt] = configUVEData[i]; } resultJSON = infraCmn.checkAndGetSummaryJSON(configData, uveData, ['ControlNode']); commonUtils.handleJSONResponse(err, res, resultJSON); }); }, global.DEFAULT_CB_TIMEOUT)); }
function getConfigUUIDList (req, res, appData) { var type = req.param('type'); var parentUUID = req.param('parentUUID'); var resultJSON = []; type = type + 's'; var configUrl = '/' + type + '?parent_id=' + parentUUID; configApiServer.apiGet(configUrl, appData, function(err, configData) { if ((null != err) || (null == configData) || (null == configData[type])) { commonUtils.handleJSONResponse(err, res, null); return; } configData = configData[type]; if ((null == configData) || (!configData.length)) { commonUtils.handleJSONResponse(null, res, resultJSON); return; } var count = configData.length; for (var i = 0; i < count; i++) { resultJSON.push(configData[i]['uuid']); } commonUtils.handleJSONResponse(null, res, resultJSON); }); }
function(error, data) { var gscURL = '/global-system-config/' + dataObj['uuid']; configApiServer.apiGet(gscURL, appData, function(err, gscData) { if ((null != err) || (null == gscData)) { callback(err, gscData); return; } var uiASN = dataObj['putData']['global-system-config'] ['autonomous_system']; var diffObj = jsonDiff.getConfigJSONDiff('global-system-config', gscData, dataObj['putData']); if (null == diffObj) { return; } configApiServer.apiPut(gscURL, diffObj, appData, function(error, data) { if (null == uiASN) { callback(error, data); return; } setTimeout(function() { callback(error, data); return; }, 3000); }); }); });
function getFirstGlobalvRouterConfig(appData, callback) { var gvrListURL = '/global-vrouter-configs'; configApiServer.apiGet(gvrListURL, appData, function(error, data) { if (error) { callback(error, null); return; } var gvrUUID = null; if(data["global-vrouter-configs"].length > 0) { gvrUUID = data["global-vrouter-configs"][0].uuid; } else { callback(error, null); return; } var gvrGetURL = '/global-vrouter-config/' + gvrUUID; configApiServer.apiGet(gvrGetURL, appData, function(error, data) { if (error) { callback(error, null); } else { callback(error, data); } }); }); }
function deleteFirewallPoliciesAsync(dataObject, callback) { var appData = dataObject.appData; var policyId = dataObject.uuid; var request = dataObject.request; configApiServer.apiGet('/firewall-policy/' + policyId, appData, function (errPolicy, policyDetails) { if(errPolicy) { callback(null, {'error': errPolicy, 'data': null}); return; } var ruleDataObjArry = [], ruleIds = [], ruleRefs = commonUtils.getValueByJsonPath(policyDetails, 'firewall-policy;firewall_rule_refs', []); _.each(ruleRefs, function(rule) { var deleteRuleUrl = '/firewall-rule/' + rule.uuid; commonUtils.createReqObj(ruleDataObjArry, deleteRuleUrl, global.HTTP_REQUEST_DEL, null, configApiServer, null, appData); }); configApiServer.apiDelete('/firewall-policy/' + policyId, appData, function (error, data) { if(error) { callback(null, {'error': error, 'data': data}); return; } deleteAssociatedFirewallRules(ruleDataObjArry, appData, function(rulesErr, rulesData) { callback(null, {'error': rulesErr, 'data': rulesData}); } ); } ); } ); }
function deletePolicyProcess(policyId, appData, request, callback){ console.log("deletePolicyProcess"); var polDelURL = '/network-policy/'; polDelURL += policyId; configApiServer.apiGet(polDelURL, appData, function (err, configData) { console.log("configData"+JSON.stringify(configData)) if ('virtual_network_back_refs' in configData['network-policy']) { console.log("a"); delete configData['network-policy']['virtual_network_back_refs']; updatePolicyWithVNs(configData, policyId, appData, function (err, data) { console.log("b"); configApiServer.apiDelete(polDelURL, appData, function (error, data) { console.log("c"); callback(error, data) }); }); } else { console.log("else"); configApiServer.apiDelete(polDelURL, appData, function (error, data) { callback(error, data) }); } }); }
function updateIpamDns (request, response, appData) { var ipamId = null; var ipamGetURL = '/network-ipam/'; var ipamOptionsRef = []; var ipamOPtionsLen = 0, i = 0; var ipamPostData = request.body; if (typeof(ipamPostData) != 'object') { error = new appErrors.RESTServerError('Invalid Post Data'); commonUtils.handleJSONResponse(error, response, null); return; } if (ipamId = request.param('id').toString()) { ipamGetURL += ipamId; } else { error = new appErrors.RESTServerError('Add Ipam ID'); commonUtils.handleJSONResponse(error, response, null); return; } configApiServer.apiGet(ipamGetURL, appData, function(error, data) { setIpamDnsOptions(error, data, ipamPostData, ipamId, response, appData); }); }
/** * @getFloatingIpPoolsByVNLists * private function * 1. Gets list of floating ip pools from All VNs' fip * pool refs */ function getFloatingIpPoolsByVNLists (request, appData, callback) { var vnListURL = '/virtual-networks'; var fipPool = {}; var dataObjArr = []; fipPool['floating_ip_pool_refs'] = []; var vnURL = '/virtual-networks?detail=true&fields=' + 'floating_ip_pools,network_ipam_refs&filters=router_external==true'; configApiServer.apiGet(vnURL, appData, function(err, vnList) { if ((null != err) || (null == vnList) || (null == vnList['virtual-networks'])) { callback(err, fipPool); return; } var results = vnList['virtual-networks']; var resCnt = results.length; for (i = 0; i < resCnt; i++) { try { var vn = results[i]['virtual-network']; if (null != vn['floating_ip_pools']) { var subnets = parseVNSubnets(results[i]); var fipCnt = vn['floating_ip_pools'].length; for(var j = 0; j < fipCnt ; j++) { vn['floating_ip_pools'][j]['subnets'] = subnets; fipPool['floating_ip_pool_refs'].push(vn['floating_ip_pools'][j]); } } } catch(e) { continue; } } callback(null, fipPool); }); }
function ifNetworkExists(appData,projUUID,name,callback,retryCnt) { if(retryCnt == null) retryCnt = 0; if(retryCnt == maxRetryCnt) { callback(false); return; } retryCnt++; var networkListURL = '/project/' + projUUID + '?exclude_back_refs=True'; configApiServer.apiGet(networkListURL,appData,function(err,data) { var networkUUIDs = [],reqUrl = ''; if(data['project'] != null && data['project']['virtual_networks'] != null) { data = data['project']['virtual_networks']; var nwURLsArr = [],nwNames = []; for(var i=0;i<data.length;i++) { var nwUUID = data[i]['uuid']; var nwName = data[i]['to'][2]; if(nwName == name) { callback(nwUUID); return; } } } setTimeout(function() { ifNetworkExists(appData,projUUID,name,callback,retryCnt); },500); }); }
/** * @updateVDNSRecordUpdate * public function * 1. URL /api/tenants/config/virtual-DNS/:id/virtual-DNS-record/:recordid * 2. Updates a virtual DNS record * 3. Reads back the updated virtual DNS config and send it * back to the client */ function updateVDNSRecordUpdate(request, response, appData) { var dnsRecURL = '/virtual-DNS-record/'; var vdnsRecPutData = request.body; var requestParams = url.parse(request.url, true), perms2; if (!(virtualDNSId = request.param('id').toString())) { error = new appErrors.RESTServerError('Virtual DNS Id ' + 'is required'); commonUtils.handleJSONResponse(error, response, null); return; } if (!(vdnsRecordId = request.param('recordid').toString())) { error = new appErrors.RESTServerError('DNS Record Id is required'); commonUtils.handleJSONResponse(error, response, null); return; } try { var vdnsRecData = vdnsRecPutData['virtual-DNS']['virtual_DNS_records'][0][ 'virtual_DNS_record_data' ]; perms2 = vdnsRecPutData['virtual-DNS']['virtual_DNS_records'][0][ 'perms2' ]; } catch (e) { error = new appErrors.RESTServerError('DNS Record not found'); commonUtils.handleJSONResponse(error, response, null); return; } dnsRecURL += vdnsRecordId; configApiServer.apiGet(dnsRecURL, appData, function(err, configData) { if ((null != err) || (null == configData)) { commonUtils.handleJSONResponse(err, response, null); return; } var oldConfigData = commonUtils.cloneObj(configData); configData['virtual-DNS-record']['virtual_DNS_record_data'] = vdnsRecData; configData['virtual-DNS-record']['perms2'] = perms2; var delta = jsonDiff.getConfigJSONDiff('virtual-DNS-record', oldConfigData, configData); configApiServer.apiPut(dnsRecURL, delta, appData, function(err, data) { if (err) { commonUtils.handleJSONResponse(err, response, null); } else { commonUtils.handleJSONResponse(err, response, data); } }); }); }
// Handle request to get a JSON of virtual network for a given id. function getVNetwork (req, res, appData) { var url, vn = req.param('vn'); url = "/virtual-network/" + vn; configApiServer.apiGet(url, appData, function (error, vnJSON) { commonUtils.handleJSONResponse(error, res, vnJSON); }); }
function getAlarmsAsync(dataObj, callback) { var url = dataObj.reqUrl; var appData = dataObj.appData; opApiServer.apiGet(url, appData, function(err, alarmDetLst){ callback(err, alarmDetLst); }); }