def on_get(self, req, res, alarm_id=None): if alarm_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) start_timestamp = helpers.get_query_starttime_timestamp(req, False) end_timestamp = helpers.get_query_endtime_timestamp(req, False) query_parms = falcon.uri.parse_query_string(req.query_string) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_history_list(tenant_id, start_timestamp, end_timestamp, query_parms, req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_history(tenant_id, [alarm_id], req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_id=None): if alarm_id is None: helpers.validate_authorization(req, self._get_alarms_authorized_roles) tenant_id = helpers.get_tenant_id(req) start_timestamp = helpers.get_query_starttime_timestamp(req, False) end_timestamp = helpers.get_query_endtime_timestamp(req, False) query_parms = falcon.uri.parse_query_string(req.query_string) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_history_list(tenant_id, start_timestamp, end_timestamp, query_parms, req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._get_alarms_authorized_roles) tenant_id = helpers.get_tenant_id(req) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_history(tenant_id, [alarm_id], req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, notification_method_id=None): if notification_method_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) sort_by = helpers.get_query_param(req, 'sort_by', default_val=None) if sort_by is not None: if isinstance(sort_by, basestring): sort_by = sort_by.split(',') allowed_sort_by = {'id', 'name', 'type', 'address', 'updated_at', 'created_at'} validation.validate_sort_by(sort_by, allowed_sort_by) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._list_notifications(tenant_id, req.uri, sort_by, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._list_notification(tenant_id, notification_method_id, req.uri) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_definition_id=None): if alarm_definition_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) name = helpers.get_query_name(req) dimensions = helpers.get_query_dimensions(req) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_definition_list(tenant_id, name, dimensions, req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._alarm_definition_show(tenant_id, alarm_definition_id) helpers.add_links_to_resource(result, re.sub('/' + alarm_definition_id, '', req.uri)) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_id=None): if alarm_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) query_parms = falcon.uri.parse_query_string(req.query_string) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_list(req.uri, tenant_id, query_parms, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._alarm_show(req.uri, tenant_id, alarm_id) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res): helpers.validate_authorization(req, self._get_metrics_authorized_roles) tenant_id = helpers.get_tenant_id(req) name = helpers.get_query_name(req, True) helpers.validate_query_name(name) dimensions = helpers.get_query_dimensions(req) helpers.validate_query_dimensions(dimensions) start_timestamp = helpers.get_query_starttime_timestamp(req) end_timestamp = helpers.get_query_endtime_timestamp(req, False) helpers.validate_start_end_timestamps(start_timestamp, end_timestamp) statistics = helpers.get_query_statistics(req) period = helpers.get_query_period(req) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) merge_metrics_flag = get_merge_metrics_flag(req) group_by = helpers.get_query_group_by(req) result = self._metric_statistics(tenant_id, name, dimensions, start_timestamp, end_timestamp, statistics, period, req.uri, offset, limit, merge_metrics_flag, group_by) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res): helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) query_parms = falcon.uri.parse_query_string(req.query_string) if 'state' in query_parms: validation.validate_alarm_state(query_parms['state']) if 'severity' in query_parms: validation.validate_alarm_definition_severity(query_parms['severity']) if 'group_by' in query_parms: if not isinstance(query_parms['group_by'], list): query_parms['group_by'] = [query_parms['group_by']] self._validate_group_by(query_parms['group_by']) # ensure metric_dimensions is a list if 'metric_dimensions' in query_parms and isinstance(query_parms['metric_dimensions'], str): query_parms['metric_dimensions'] = query_parms['metric_dimensions'].split(',') offset = helpers.get_query_param(req, 'offset') if offset is not None: try: offset = int(offset) except Exception: raise HTTPUnprocessableEntityError("Unprocessable Entity", "Offset must be a valid integer, was {}".format(offset)) limit = helpers.get_limit(req) result = self._alarms_count(req.uri, tenant_id, query_parms, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_id=None): helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) if alarm_id is None: query_parms = falcon.uri.parse_query_string(req.query_string) # ensure metric_dimensions is a list if 'metric_dimensions' in query_parms and isinstance(query_parms['metric_dimensions'], str): query_parms['metric_dimensions'] = query_parms['metric_dimensions'].split(',') offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_list(req.uri, tenant_id, query_parms, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: result = self._alarm_show(req.uri, tenant_id, alarm_id) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, notification_method_id=None): if notification_method_id is None: helpers.validate_authorization( req, self._get_notifications_authorized_roles) tenant_id = helpers.get_tenant_id(req) sort_by = helpers.get_query_param(req, 'sort_by', default_val=None) if sort_by is not None: if isinstance(sort_by, basestring): sort_by = sort_by.split(',') allowed_sort_by = { 'id', 'name', 'type', 'address', 'updated_at', 'created_at' } validation.validate_sort_by(sort_by, allowed_sort_by) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._list_notifications(tenant_id, req.uri, sort_by, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization( req, self._get_notifications_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._list_notification(tenant_id, notification_method_id, req.uri) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_id=None): helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) if alarm_id is None: query_parms = falcon.uri.parse_query_string(req.query_string) # ensure metric_dimensions is a list if 'metric_dimensions' in query_parms and isinstance( query_parms['metric_dimensions'], str): query_parms['metric_dimensions'] = query_parms[ 'metric_dimensions'].split(',') offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._alarm_list(req.uri, tenant_id, query_parms, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: result = self._alarm_show(req.uri, tenant_id, alarm_id) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res): # This is to provide consistency. Pagination is not really supported here as there # are not that many rows limit = helpers.get_limit(req) result = self._list_notifications(req.uri, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_id=None): helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) if alarm_id is None: query_parms = falcon.uri.parse_query_string(req.query_string) if 'state' in query_parms: validation.validate_alarm_state(query_parms['state']) if 'severity' in query_parms: validation.validate_alarm_definition_severity( query_parms['severity']) if 'sort_by' in query_parms: if isinstance(query_parms['sort_by'], basestring): query_parms['sort_by'] = [query_parms['sort_by']] allowed_sort_by = { 'alarm_id', 'alarm_definition_id', 'alarm_definition_name', 'state', 'severity', 'lifecycle_state', 'link', 'state_updated_timestamp', 'updated_timestamp', 'created_timestamp' } validation.validate_sort_by(query_parms['sort_by'], allowed_sort_by) # ensure metric_dimensions is a list if 'metric_dimensions' in query_parms and isinstance( query_parms['metric_dimensions'], str): query_parms['metric_dimensions'] = query_parms[ 'metric_dimensions'].split(',') self._validate_dimensions(query_parms['metric_dimensions']) offset = helpers.get_query_param(req, 'offset') if offset is not None and not isinstance(offset, int): try: offset = int(offset) except Exception as ex: LOG.exception(ex) raise HTTPUnprocessableEntityError( "Unprocessable Entity", "Offset value {} must be an integer".format(offset)) limit = helpers.get_limit(req) result = self._alarm_list(req.uri, tenant_id, query_parms, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: result = self._alarm_show(req.uri, tenant_id, alarm_id) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res): helpers.validate_authorization(req, self._get_metrics_authorized_roles) tenant_id = helpers.get_tenant_id(req) metric_name = helpers.get_query_param(req, 'metric_name') offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._dimension_names(tenant_id, req.uri, metric_name, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_id=None): helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) if alarm_id is None: query_parms = falcon.uri.parse_query_string(req.query_string) if 'state' in query_parms: validation.validate_alarm_state(query_parms['state']) if 'severity' in query_parms: validation.validate_severity_query(query_parms['severity']) if 'sort_by' in query_parms: if isinstance(query_parms['sort_by'], basestring): query_parms['sort_by'] = [query_parms['sort_by']] allowed_sort_by = {'alarm_id', 'alarm_definition_id', 'alarm_definition_name', 'state', 'severity', 'lifecycle_state', 'link', 'state_updated_timestamp', 'updated_timestamp', 'created_timestamp'} validation.validate_sort_by(query_parms['sort_by'], allowed_sort_by) if 'state' in query_parms: validation.validate_alarm_state(query_parms['state']) if 'severity' in query_parms: validation.validate_severity_query(query_parms['severity']) # ensure metric_dimensions is a list if 'metric_dimensions' in query_parms and isinstance(query_parms['metric_dimensions'], str): query_parms['metric_dimensions'] = query_parms['metric_dimensions'].split(',') self._validate_dimensions(query_parms['metric_dimensions']) offset = helpers.get_query_param(req, 'offset') if offset is not None and not isinstance(offset, int): try: offset = int(offset) except Exception as ex: LOG.exception(ex) raise HTTPUnprocessableEntityError("Unprocessable Entity", "Offset value {} must be an integer".format(offset)) limit = helpers.get_limit(req) result = self._alarm_list(req.uri, tenant_id, query_parms, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: result = self._alarm_show(req.uri, tenant_id, alarm_id) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_definition_id=None): if alarm_definition_id is None: helpers.validate_authorization( req, self._get_alarmdefs_authorized_roles) tenant_id = helpers.get_tenant_id(req) name = helpers.get_query_name(req) dimensions = helpers.get_query_dimensions(req) severity = helpers.get_query_param(req, "severity", default_val=None) if severity is not None: validation.validate_severity_query(severity) sort_by = helpers.get_query_param(req, 'sort_by', default_val=None) if sort_by is not None: if isinstance(sort_by, basestring): sort_by = sort_by.split(',') allowed_sort_by = { 'id', 'name', 'severity', 'updated_at', 'created_at' } validation.validate_sort_by(sort_by, allowed_sort_by) offset = helpers.get_query_param(req, 'offset') if offset is not None and not isinstance(offset, int): try: offset = int(offset) except Exception: raise HTTPUnprocessableEntityError( 'Unprocessable Entity', 'Offset value {} must be an integer'.format(offset)) limit = helpers.get_limit(req) result = self._alarm_definition_list(tenant_id, name, dimensions, severity, req.uri, sort_by, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization( req, self._get_alarmdefs_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._alarm_definition_show(tenant_id, alarm_definition_id) helpers.add_links_to_resource( result, re.sub('/' + alarm_definition_id, '', req.uri)) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res): helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) name = helpers.get_query_name(req) helpers.validate_query_name(name) dimensions = helpers.get_query_dimensions(req) helpers.validate_query_dimensions(dimensions) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._list_metrics(tenant_id, name, dimensions, req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, notification_method_id=None): if notification_method_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) offset = helpers.get_query_param(req, "offset") limit = helpers.get_limit(req) result = self._list_notifications(tenant_id, req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._list_notification(tenant_id, notification_method_id, req.uri) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, alarm_definition_id=None): if alarm_definition_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) name = helpers.get_query_name(req) dimensions = helpers.get_query_dimensions(req) severity = helpers.get_query_param(req, "severity", default_val=None) if severity is not None: validation.validate_severity_query(severity) sort_by = helpers.get_query_param(req, 'sort_by', default_val=None) if sort_by is not None: if isinstance(sort_by, basestring): sort_by = sort_by.split(',') allowed_sort_by = {'id', 'name', 'severity', 'updated_at', 'created_at'} validation.validate_sort_by(sort_by, allowed_sort_by) offset = helpers.get_query_param(req, 'offset') if offset is not None and not isinstance(offset, int): try: offset = int(offset) except Exception: raise HTTPUnprocessableEntityError('Unprocessable Entity', 'Offset value {} must be an integer'.format(offset)) limit = helpers.get_limit(req) result = self._alarm_definition_list(tenant_id, name, dimensions, severity, req.uri, sort_by, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._alarm_definition_show(tenant_id, alarm_definition_id) helpers.add_links_to_resource(result, re.sub('/' + alarm_definition_id, '', req.uri)) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res): helpers.validate_authorization(req, self._get_metrics_authorized_roles) tenant_id = helpers.get_tenant_id(req) name = helpers.get_query_name(req) helpers.validate_query_name(name) dimensions = helpers.get_query_dimensions(req) helpers.validate_query_dimensions(dimensions) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) start_timestamp = helpers.get_query_starttime_timestamp(req, False) end_timestamp = helpers.get_query_endtime_timestamp(req, False) helpers.validate_start_end_timestamps(start_timestamp, end_timestamp) result = self._list_metrics(tenant_id, name, dimensions, req.uri, offset, limit, start_timestamp, end_timestamp) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, notification_method_id=None): if notification_method_id is None: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) offset = helpers.get_query_param(req, 'offset') limit = helpers.get_limit(req) result = self._list_notifications(tenant_id, req.uri, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._list_notification(tenant_id, notification_method_id, req.uri) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200
def on_get(self, req, res, notification_method_id=None): if notification_method_id is None: helpers.validate_authorization(req, self._get_notifications_authorized_roles) tenant_id = helpers.get_tenant_id(req) sort_by = helpers.get_query_param(req, "sort_by", default_val=None) if sort_by is not None: if isinstance(sort_by, basestring): sort_by = sort_by.split(",") allowed_sort_by = {"id", "name", "type", "address", "updated_at", "created_at"} validation.validate_sort_by(sort_by, allowed_sort_by) offset = helpers.get_query_param(req, "offset") limit = helpers.get_limit(req) result = self._list_notifications(tenant_id, req.uri, sort_by, offset, limit) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._get_notifications_authorized_roles) tenant_id = helpers.get_tenant_id(req) result = self._list_notification(tenant_id, notification_method_id, req.uri) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200