diff options
author | shangxdy <shang.xiaodong@zte.com.cn> | 2016-08-15 15:43:07 +0800 |
---|---|---|
committer | shangxdy <shang.xiaodong@zte.com.cn> | 2016-08-15 15:43:07 +0800 |
commit | f52871b8f5ed66924ae8c715788d0bc09c1518ac (patch) | |
tree | 7661b3950879901ce4245ee67d5dc51dcfb7d524 /tosca2heat/tosca-parser/toscaparser/topology_template.py | |
parent | 5559b0c06930deb1c7831efe599a1036574f50b3 (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.py | 9 |
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 |