def validate(self): ''' Validates the template. ''' # TODO(sdake) Should return line number of invalid reference # Validate Parameter Groups parameter_groups = ParameterGroups(self.t) parameter_groups.validate() # Check duplicate names between parameters and resources dup_names = set(self.parameters.keys()) & set(self.keys()) if dup_names: logger.debug(_("Duplicate names %s") % dup_names) raise StackValidationFailed(message=_("Duplicate names %s") % dup_names) for res in self.dependencies: try: result = res.validate() except exception.Error as ex: logger.exception(ex) raise ex except Exception as ex: logger.exception(ex) raise StackValidationFailed( message=strutils.safe_decode(six.text_type(ex))) if result: raise StackValidationFailed(message=result)
def validate(self): ''' Validates the template. ''' # TODO(sdake) Should return line number of invalid reference # Validate Parameter Groups parameter_groups = ParameterGroups(self.t) parameter_groups.validate() # Check duplicate names between parameters and resources dup_names = set(self.parameters.keys()) & set(self.keys()) if dup_names: logger.debug(_("Duplicate names %s") % dup_names) raise StackValidationFailed(message=_("Duplicate names %s") % dup_names) for res in self.dependencies: try: result = res.validate() except exception.Error as ex: logger.exception(ex) raise ex except Exception as ex: logger.exception(ex) raise StackValidationFailed(message=strutils.safe_decode( six.text_type(ex))) if result: raise StackValidationFailed(message=result)
def validate(self): ''' Validates the template. ''' # TODO(sdake) Should return line number of invalid reference # validate overall template (top-level structure) self.t.validate() # Validate parameters self.parameters.validate(context=self.context) # Validate Parameter Groups parameter_groups = ParameterGroups(self.t) parameter_groups.validate() # Check duplicate names between parameters and resources dup_names = set(self.parameters.keys()) & set(self.keys()) if dup_names: LOG.debug("Duplicate names %s" % dup_names) raise StackValidationFailed(message=_("Duplicate names %s") % dup_names) for res in self.dependencies: try: result = res.validate() except exception.HeatException as ex: LOG.info(ex) raise ex except Exception as ex: LOG.exception(ex) raise StackValidationFailed(message=encodeutils.safe_decode( six.text_type(ex))) if result: raise StackValidationFailed(message=result) for val in self.outputs.values(): try: if not val or not val.get('Value'): message = _('Each Output must contain ' 'a Value key.') raise StackValidationFailed(message=message) function.validate(val.get('Value')) except AttributeError: message = _('Output validation error: ' 'Outputs must contain Output. ' 'Found a [%s] instead') % type(val) raise StackValidationFailed(message=message) except Exception as ex: reason = _('Output validation error: ' '%s') % six.text_type(ex) raise StackValidationFailed(message=reason)
def validate(self): ''' Validates the template. ''' # TODO(sdake) Should return line number of invalid reference # validate overall template (top-level structure) self.t.validate() # Validate parameters self.parameters.validate(context=self.context) # Validate Parameter Groups parameter_groups = ParameterGroups(self.t) parameter_groups.validate() # Check duplicate names between parameters and resources dup_names = set(self.parameters.keys()) & set(self.keys()) if dup_names: LOG.debug("Duplicate names %s" % dup_names) raise StackValidationFailed(message=_("Duplicate names %s") % dup_names) for res in self.dependencies: try: result = res.validate() except exception.HeatException as ex: LOG.info(ex) raise ex except Exception as ex: LOG.exception(ex) raise StackValidationFailed(message=encodeutils.safe_decode( six.text_type(ex))) if result: raise StackValidationFailed(message=result) for val in self.outputs.values(): try: if isinstance(val, six.string_types): message = _('"Outputs" must contain ' 'a map of output maps, ' 'find a string "%s".') % val raise StackValidationFailed(message=message) if not val or not val.get('Value', ''): msg = _('Every Output object must ' 'contain a Value member.') raise StackValidationFailed(message=msg) function.validate(val.get('Value', '')) except Exception as ex: reason = 'Output validation error: %s' % six.text_type(ex) raise StackValidationFailed(message=reason)
def validate(self): ''' Validates the template. ''' # TODO(sdake) Should return line number of invalid reference # validate overall template (top-level structure) self.t.validate() # Validate parameters self.parameters.validate(context=self.context) # Validate Parameter Groups parameter_groups = ParameterGroups(self.t) parameter_groups.validate() # Check duplicate names between parameters and resources dup_names = set(self.parameters.keys()) & set(self.keys()) if dup_names: LOG.debug("Duplicate names %s" % dup_names) raise StackValidationFailed(message=_("Duplicate names %s") % dup_names) for res in self.dependencies: try: result = res.validate() except exception.HeatException as ex: LOG.info(ex) raise ex except Exception as ex: LOG.exception(ex) raise StackValidationFailed(message=encodeutils.safe_decode( six.text_type(ex))) if result: raise StackValidationFailed(message=result) for val in self.outputs.values(): snippet = val.get('Value', '') try: function.validate(snippet) except Exception as ex: reason = 'Output validation error: %s' % six.text_type(ex) raise StackValidationFailed(message=reason)
def validate(self): ''' Validates the template. ''' # TODO(sdake) Should return line number of invalid reference # validate overall template (top-level structure) self.t.validate() # Validate parameters self.parameters.validate(context=self.context) # Validate Parameter Groups parameter_groups = ParameterGroups(self.t) parameter_groups.validate() # Check duplicate names between parameters and resources dup_names = set(self.parameters.keys()) & set(self.keys()) if dup_names: LOG.debug("Duplicate names %s" % dup_names) raise StackValidationFailed(message=_("Duplicate names %s") % dup_names) for res in self.dependencies: try: result = res.validate() except exception.HeatException as ex: LOG.info(ex) raise ex except Exception as ex: LOG.exception(ex) raise StackValidationFailed( message=encodeutils.safe_decode(six.text_type(ex))) if result: raise StackValidationFailed(message=result) for val in self.outputs.values(): snippet = val.get('Value', '') try: function.validate(snippet) except Exception as ex: reason = 'Output validation error: %s' % six.text_type(ex) raise StackValidationFailed(message=reason)