Пример #1
0
    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))
Пример #2
0
    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)
Пример #3
0
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))