Bug 667: NBI not validating that hyphens are not allowed in Jinja2
Change-Id: Ie70da179757808b7e7cfecb7f66c257fb347dcd0
Signed-off-by: delacruzramo <pedro.delacruzramos@altran.com>
diff --git a/osm_nbi/instance_topics.py b/osm_nbi/instance_topics.py
index e14590b..55845d6 100644
--- a/osm_nbi/instance_topics.py
+++ b/osm_nbi/instance_topics.py
@@ -23,6 +23,7 @@
from descriptor_topics import DescriptorTopic
from yaml import safe_dump
from osm_common.dbbase import DbException
+from re import match # For checking that additional parameter names are valid Jinja2 identifiers
__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
@@ -115,6 +116,12 @@
break
if additional_params:
for k, v in additional_params.items():
+ # BEGIN Check that additional parameter names are valid Jinja2 identifiers
+ if not match('^[a-zA-Z_][a-zA-Z0-9_]*$', k):
+ raise EngineException("Invalid param name at {}:{}. Must contain only alphanumeric characters "
+ "and underscores, and cannot start with a digit"
+ .format(where_, k))
+ # END Check that additional parameter names are valid Jinja2 identifiers
if not isinstance(k, str):
raise EngineException("Invalid param at {}:{}. Only string keys are allowed".format(where_, k))
if "." in k or "$" in k: