+ activateInstance: activateInstance,\r
+ deactivateInstance: deactivateInstance,\r
+\r
+\r
+ createConfigurationInstance: function(requestParams) {\r
+\r
+ const modelInfoOf = function (instance) {\r
+ const modelInfo = {\r
+ "modelType": "vnf",\r
+ "modelInvariantId": instance.properties['model-invariant-id'],\r
+ "modelVersionId": instance.properties['model-version-id'],\r
+ "modelName": instance.properties['model-name'],\r
+ "modelVersion": instance.properties['model-version'],\r
+ "modelCustomizationId": instance.properties['model-customization-id']\r
+ };\r
+\r
+ $log.debug("model info from instance", instance);\r
+ $log.debug("model info to model", modelInfo);\r
+\r
+ return modelInfo\r
+ };\r
+\r
+ var payload = {\r
+ "requestDetails": {\r
+ "modelInfo": {\r
+ "modelType": "configuration",\r
+ "modelInvariantId": requestParams.configurationModelInfo.modelInvariantId,\r
+ "modelVersionId": requestParams.configurationModelInfo.modelNameVersionId,\r
+ "modelName": requestParams.configurationModelInfo.modelName, // "Port Mirroring Configuration"\r
+ "modelVersion": requestParams.configurationModelInfo.modelVersion,\r
+ "modelCustomizationId": requestParams.configurationModelInfo.customizationUuid,\r
+ "modelCustomizationName": requestParams.configurationModelInfo.modelCustomizationName\r
+ },\r
+ "cloudConfiguration": {\r
+ // "tenantId": ????\r
+ "lcpCloudRegionId": requestParams.portMirroringConfigFields.lcpRegion.value\r
+ },\r
+ "requestInfo": {\r
+ "instanceName": requestParams.portMirroringConfigFields.instanceName.value,\r
+ "source": "VID",\r
+ "requestorId": requestParams.attuuid\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.topServiceInstanceId,\r
+ "modelInfo": {\r
+ "modelType": "service", // relatedTopModelsInfo.modelType\r
+ "modelInvariantId": requestParams.relatedTopModelsInfo.modelInvariantId,\r
+ "modelVersionId": requestParams.relatedTopModelsInfo.modelNameVersionId,\r
+ "modelName": requestParams.relatedTopModelsInfo.modelName,\r
+ "modelVersion": requestParams.relatedTopModelsInfo.modelVersion\r
+ }\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.portMirroringConfigFields.sourceInstance.properties['vnf-id'],\r
+ "instanceDirection": "source",\r
+ "modelInfo": modelInfoOf(requestParams.portMirroringConfigFields.sourceInstance)\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.configurationByPolicy ?\r
+ requestParams.portMirroringConfigFields.destinationInstance.properties['pnfName']:\r
+ requestParams.portMirroringConfigFields.destinationInstance.properties['vnf-id'],\r
+ "instanceDirection": "destination",\r
+ "modelInfo":\r
+ requestParams.configurationByPolicy ?\r
+ {"modelType": "pnf"} :\r
+ modelInfoOf(requestParams.portMirroringConfigFields.destinationInstance)\r
+ }\r
+ }\r
+ ],\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ }\r
+ };\r
+\r
+ $log.debug("payload", payload);\r
+\r
+ var deferred = $q.defer();\r
+ $http.post([\r
+ 'mso','mso_create_configuration_instance',\r
+ requestParams.topServiceInstanceId,\r
+ 'configurations',''\r
+ ].join(COMPONENT.FORWARD_SLASH),\r
+ payload)\r
+ .success(function (response) {\r
+ deferred.resolve({data : response});\r
+ }).error(function (data, status) {\r
+ deferred.reject({message: data, status: status});\r
+ });\r
+ return deferred.promise;\r
+ },\r
+\r
+ toggleConfigurationStatus: function(requestParams) {\r
+\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": "mdt1"\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "relatedInstanceList": [{\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.serviceInstanceId,\r
+ "modelInfo": requestParams.serviceModel\r
+ }\r
+ }],\r
+ "requestParameters": {\r
+ "userParams": []\r
+ }\r
+ };\r
+\r
+ var url;\r
+ switch (requestParams.configStatus) {\r
+ case FIELD.STATUS.AAI_CREATED:\r
+ case FIELD.STATUS.AAI_INACTIVE:\r
+ url = "mso/mso_activate_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ case FIELD.STATUS.AAI_ACTIVE:\r
+ url = "mso/mso_deactivate_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ }\r
+\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+\r
+ togglePortStatus: function(requestParams) {\r
+ var requestDetails = {\r
+ "modelInfo": requestParams.configurationModel,\r
+ "cloudConfiguration": {\r
+ "lcpCloudRegionId": "mdt1"\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": requestParams.userId\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.serviceInstanceId,\r
+ "modelInfo": requestParams.serviceModel\r
+ }\r
+ },\r
+ {\r
+ "relatedInstance": {\r
+ "instanceId": requestParams.portId,\r
+ "instanceDirection": "source",\r
+ "modelInfo": {\r
+ "modelType": "connectionPoint"\r
+ }\r
+ }\r
+ }\r
+ ]\r
+ };\r
+\r
+ var url;\r
+ switch (requestParams.portStatus) {\r
+ case FIELD.STATUS.AAI_ENABLED:\r
+ url = "mso/mso_disable_port_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ case FIELD.STATUS.AAI_DISABLED:\r
+ url = "mso/mso_enable_port_configuration/"+requestParams.serviceInstanceId+"/configurations/"+requestParams.configurationId;\r
+ break;\r
+ }\r
+\r
+ return sendPostRequest(url, requestDetails);\r
+ },\r
+\r
+ buildPayloadForAssociateDissociate: function(serviceModelInfo, attuuid, instanceId, pnf) {\r
+ var payload = {\r
+ "modelInfo": {\r
+ "modelType": "service",\r
+ "modelInvariantId": serviceModelInfo.invariantUuid,\r
+ "modelVersionId": serviceModelInfo.uuid,\r
+ "modelName": serviceModelInfo.name,\r
+ "modelVersion": serviceModelInfo.version\r
+ },\r
+ "requestInfo": {\r
+ "source": "VID",\r
+ "requestorId": attuuid\r
+ },\r
+ "relatedInstanceList": [\r
+ {\r
+ "relatedInstance": {\r
+ "instanceName": pnf,\r
+ "modelInfo": {\r
+ "modelType": "pnf"\r
+ }\r
+ }\r
+ }],\r
+ "requestParameters": {\r
+ "aLaCarte": true\r
+ }\r
+ };\r
+\r
+ $log.debug("payload", payload);\r
+\r
+ return payload;\r
+ },\r
+ associatePnf: function(requestParams) {\r
+\r
+ var payload = this.buildPayloadForAssociateDissociate(requestParams.serviceModelInfo, requestParams.attuuid, requestParams.instanceId, requestParams.pnf);\r
+ return sendPostRequest([\r
+ COMPONENT.MSO, COMPONENT.MSO_CREATE_REALATIONSHIP,\r
+ requestParams.instanceId,\r
+ ''\r
+ ].join(COMPONENT.FORWARD_SLASH), payload);\r
+ },\r
+ dissociatePnf: function(requestParams) {\r
+\r
+ var payload = this.buildPayloadForAssociateDissociate(requestParams.serviceModelInfo, requestParams.attuuid, requestParams.serviceInstanceId, requestParams.pnf);\r
+\r
+ return sendPostRequest([\r
+ COMPONENT.MSO, COMPONENT.MSO_REMOVE_RELATIONSHIP,\r
+ requestParams.serviceInstanceId,\r
+ ''\r
+ ].join(COMPONENT.FORWARD_SLASH), payload);\r
+ }\r