diff options
author | shangxdy <shang.xiaodong@zte.com.cn> | 2017-08-29 12:45:34 +0800 |
---|---|---|
committer | shangxdy <shang.xiaodong@zte.com.cn> | 2017-08-29 12:45:34 +0800 |
commit | 7407c6c4cb09a80ec35a48716d4436ff98aba23f (patch) | |
tree | f2adc6dc812952123493b9b734196828ed83cf1f /tosca2heat/tosca-parser/toscaparser/tosca_template.py | |
parent | d66af1c9113ec897049a55b80ca70496651502b7 (diff) |
Add parameter validation in design time
Add validation for SDC from ONAP when use parse in design time: ignore
parameter validation and only print warning message.
JIRA: PARSER-142
Change-Id: I9372f20816f2acbda83c5f1e4f673f2ffc3c2e94
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser/tosca_template.py')
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/tosca_template.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/tosca_template.py b/tosca2heat/tosca-parser/toscaparser/tosca_template.py index 9e84f3d..3301999 100644 --- a/tosca2heat/tosca-parser/toscaparser/tosca_template.py +++ b/tosca2heat/tosca-parser/toscaparser/tosca_template.py @@ -18,6 +18,7 @@ from copy import deepcopy from toscaparser.common.exception import ExceptionCollector from toscaparser.common.exception import InvalidTemplateVersion from toscaparser.common.exception import MissingRequiredFieldError +from toscaparser.common.exception import MissingRequiredParameterError from toscaparser.common.exception import UnknownFieldError from toscaparser.common.exception import ValidationError from toscaparser.elements.entity_type import update_definitions @@ -65,7 +66,8 @@ class ToscaTemplate(object): '''Load the template data.''' def __init__(self, path=None, parsed_params=None, a_file=True, - yaml_dict_tpl=None, sub_mapped_node_template=None): + yaml_dict_tpl=None, sub_mapped_node_template=None, + no_required_paras_valid=False): if sub_mapped_node_template is None: ExceptionCollector.start() self.a_file = a_file @@ -75,6 +77,7 @@ class ToscaTemplate(object): self.sub_mapped_node_template = sub_mapped_node_template self.nested_tosca_tpls_with_topology = {} self.nested_tosca_templates_with_topology = [] + self.no_required_paras_valid = no_required_paras_valid if path: self.input_path = path self.path = self._get_path(path) @@ -236,7 +239,8 @@ class ToscaTemplate(object): nested_template = ToscaTemplate( path=fname, parsed_params=parsed_params, yaml_dict_tpl=tosca_tpl, - sub_mapped_node_template=nodetemplate) + sub_mapped_node_template=nodetemplate, + no_required_paras_valid=self.no_required_paras_valid) if nested_template._has_substitution_mappings(): # Record the nested templates in top level template self.nested_tosca_templates_with_topology.\ @@ -288,6 +292,10 @@ class ToscaTemplate(object): def verify_template(self): if ExceptionCollector.exceptionsCaught(): + if self.no_required_paras_valid: + ExceptionCollector.removeException( + MissingRequiredParameterError) + if self.input_path: raise ValidationError( message=(_('\nThe input "%(path)s" failed validation with ' |