summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser/toscaparser/topology_template.py
diff options
context:
space:
mode:
authorshangxdy <shang.xiaodong@zte.com.cn>2016-08-15 15:43:07 +0800
committershangxdy <shang.xiaodong@zte.com.cn>2016-08-15 15:43:07 +0800
commitf52871b8f5ed66924ae8c715788d0bc09c1518ac (patch)
tree7661b3950879901ce4245ee67d5dc51dcfb7d524 /tosca2heat/tosca-parser/toscaparser/topology_template.py
parent5559b0c06930deb1c7831efe599a1036574f50b3 (diff)
Add required definition in class of Input.
As a template designer; I want to know if the parameters is missed when deploy a template, but currently there is not validation about the required parameters; So i add property in class of Input, and validate the require parameter. Note: the patch will submit to Openstack community too. JIRA:PARSER-88 Change-Id: I5763a18da4037b0f81a55b8c8d83414e685b03d2 Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser/topology_template.py')
-rw-r--r--tosca2heat/tosca-parser/toscaparser/topology_template.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/topology_template.py b/tosca2heat/tosca-parser/toscaparser/topology_template.py
index fe05979..100a06b 100644
--- a/tosca2heat/tosca-parser/toscaparser/topology_template.py
+++ b/tosca2heat/tosca-parser/toscaparser/topology_template.py
@@ -26,7 +26,6 @@ from toscaparser.substitution_mappings import SubstitutionMappings
from toscaparser.tpl_relationship_graph import ToscaGraph
from toscaparser.utils.gettextutils import _
-
# Topology template key names
SECTIONS = (DESCRIPTION, INPUTS, NODE_TEMPLATES,
RELATIONSHIP_TEMPLATES, OUTPUTS, GROUPS,
@@ -73,6 +72,14 @@ class TopologyTemplate(object):
default = input.default
if default:
input.validate(default)
+ if (self.parsed_params and input.name not in self.parsed_params
+ or self.parsed_params is None) and input.required \
+ and input.default is None:
+ exception.ExceptionCollector.appendException(
+ exception.MissingRequiredParameterError(
+ what='Template',
+ input_name=input.name))
+
inputs.append(input)
return inputs