def _validate_alarm_definition(self, alarm_definition, require_all=False): try: schema_alarms.validate(alarm_definition, require_all=require_all) if 'match_by' in alarm_definition: for name in alarm_definition['match_by']: metric_validation.validate_dimension_key(name) except Exception as ex: LOG.debug(ex) raise HTTPUnprocessableEntityError('Unprocessable Entity', str(ex))
def _validate_alarm_definition(self, alarm_definition, require_all=False): try: schema_alarms.validate(alarm_definition, require_all=require_all) if 'match_by' in alarm_definition: for name in alarm_definition['match_by']: metric_validation.validate_dimension_key(name) except Exception as ex: LOG.debug(ex) raise HTTPUnprocessableEntityError('Unprocessable Entity', ex.message)
def validate_query_dimensions(dimensions): """Validates the query param dimensions. :param dimensions: Query param dimensions. :raises falcon.HTTPBadRequest: If dimensions are not valid. """ try: for key, value in dimensions.items(): if key.startswith('_'): raise Exception("Dimension key {} may not start with '_'".format(key)) metric_validation.validate_dimension_key(key) if value: if '|' in value: values = value.split('|') for v in values: metric_validation.validate_dimension_value(key, v) else: metric_validation.validate_dimension_value(key, value) except Exception as ex: LOG.debug(ex) raise HTTPUnprocessableEntityError('Unprocessable Entity', str(ex))