def _validate_single_metric(self, metric): validation.metric_name(metric['name']) assert isinstance(metric['timestamp'], (int, float)), "Timestamp must be a number" assert isinstance(metric['value'], (int, long, float)), "Value must be a number" if "dimensions" in metric: for dimension_key in metric['dimensions']: validation.dimension_key(dimension_key) validation.dimension_value(metric['dimensions'][dimension_key])
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']: validation.dimension_key(name) except Exception as ex: LOG.debug(ex) raise HTTPUnprocessableEntityError('Unprocessable Entity', ex.message)
def _validate_alarm_definition(self, alarm_definition): try: schema_alarms.validate(alarm_definition) if 'match_by' in alarm_definition: for name in alarm_definition['match_by']: validation.dimension_key(name) except Exception as ex: LOG.debug(ex) raise falcon.HTTPBadRequest('Bad request', ex.message)
def _validate_dimensions(dimensions): try: assert isinstance(dimensions, list) for dimension in dimensions: name_value = dimension.split('=') validation.dimension_key(name_value[0]) if len(name_value) > 1 and '|' in name_value[1]: values = name_value[1].split('|') for value in values: validation.dimension_value(value) except Exception as e: raise HTTPUnprocessableEntityError("Unprocessable Entity", e.message)
def _validate_dimensions(dimensions): try: assert isinstance(dimensions, list) for dimension in dimensions: name_value = dimension.split(':') validation.dimension_key(name_value[0]) if len(name_value) > 1: if '|' in name_value[1]: values = name_value[1].split('|') for value in values: validation.dimension_value(value) else: validation.dimension_value(name_value[1]) except Exception as e: raise HTTPUnprocessableEntityError("Unprocessable Entity", e.message)
def test_valid_key(self): dim_key = "this.is_a.valid-key" validation.dimension_key(dim_key) self.assertTrue(True)