+ self.nsrTopic = NsrTopic(db, fs, msg)
+
+ @staticmethod
+ def _format_ns_request(ns_request):
+ formated_request = copy(ns_request)
+ # TODO: Add request params
+ return formated_request
+
+ @staticmethod
+ def _format_addional_params(slice_request):
+ """
+ Get and format user additional params for NS or VNF
+ :param slice_request: User instantiation additional parameters
+ :return: a formatted copy of additional params or None if not supplied
+ """
+ additional_params = copy(slice_request.get("additionalParamsForNsi"))
+ if additional_params:
+ for k, v in additional_params.items():
+ if not isinstance(k, str):
+ raise EngineException("Invalid param at additionalParamsForNsi:{}. Only string keys are allowed".
+ format(k))
+ if "." in k or "$" in k:
+ raise EngineException("Invalid param at additionalParamsForNsi:{}. Keys must not contain dots or $".
+ format(k))
+ if isinstance(v, (dict, tuple, list)):
+ additional_params[k] = "!!yaml " + safe_dump(v)
+ return additional_params