예제 #1
0
    def do_post_stream_definitions(self, req, res):
        helpers.validate_authorization(req, self._default_authorized_roles)

        stream_definition = helpers.read_json_msg_body(req)

        self._validate_stream_definition(stream_definition)

        tenant_id = helpers.get_tenant_id(req)
        name = get_query_stream_definition_name(stream_definition)
        description = get_query_stream_definition_description(
            stream_definition)
        select = stream_definition['select']
        group_by = stream_definition['group_by']
        fire_criteria = stream_definition['fire_criteria']
        expiration = stream_definition['expiration']
        fire_actions = get_query_stream_definition_fire_actions(
            stream_definition)
        expire_actions = get_query_stream_definition_expire_actions(
            stream_definition)

        result = self._stream_definition_create(tenant_id, name, description,
                                                select, group_by,
                                                fire_criteria, expiration,
                                                fire_actions, expire_actions)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_201
예제 #2
0
    def do_post_alarm_definitions(self, req, res):
        helpers.validate_authorization(req, self._default_authorized_roles)

        alarm_definition = read_json_msg_body(req)

        self._validate_alarm_definition(alarm_definition)

        tenant_id = helpers.get_tenant_id(req)
        name = get_query_alarm_definition_name(alarm_definition)
        expression = get_query_alarm_definition_expression(alarm_definition)
        description = get_query_alarm_definition_description(alarm_definition)
        severity = get_query_alarm_definition_severity(alarm_definition)
        match_by = get_query_alarm_definition_match_by(alarm_definition)
        alarm_actions = get_query_alarm_definition_alarm_actions(
            alarm_definition)
        undetermined_actions = get_query_alarm_definition_undetermined_actions(
            alarm_definition)
        ok_actions = get_query_ok_actions(alarm_definition)

        result = self._alarm_definition_create(tenant_id, name, expression,
                                               description, severity, match_by,
                                               alarm_actions,
                                               undetermined_actions,
                                               ok_actions)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_201
예제 #3
0
    def do_post_alarm_definitions(self, req, res):
        helpers.validate_authorization(req, self._default_authorized_roles)

        alarm_definition = helpers.read_json_msg_body(req)

        self._validate_alarm_definition(alarm_definition)

        tenant_id = helpers.get_tenant_id(req)
        name = get_query_alarm_definition_name(alarm_definition)
        expression = get_query_alarm_definition_expression(alarm_definition)
        description = get_query_alarm_definition_description(alarm_definition)
        severity = get_query_alarm_definition_severity(alarm_definition)
        match_by = get_query_alarm_definition_match_by(alarm_definition)
        alarm_actions = get_query_alarm_definition_alarm_actions(
            alarm_definition)
        undetermined_actions = get_query_alarm_definition_undetermined_actions(
            alarm_definition)
        ok_actions = get_query_ok_actions(alarm_definition)

        result = self._alarm_definition_create(tenant_id, name, expression,
                                               description, severity, match_by,
                                               alarm_actions,
                                               undetermined_actions,
                                               ok_actions)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_201
예제 #4
0
 def do_get_notification_methods(self, req, res):
     helpers.validate_authorization(req, self._default_authorized_roles)
     tenant_id = helpers.get_tenant_id(req)
     offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                               'offset'))
     result = self._list_notifications(tenant_id, req.uri, offset)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #5
0
 def do_get_notification_methods(self, req, res):
     helpers.validate_authorization(req, self._default_authorized_roles)
     tenant_id = helpers.get_tenant_id(req)
     offset = helpers.normalize_offset(
         helpers.get_query_param(req, 'offset'))
     result = self._list_notifications(tenant_id, req.uri, offset)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #6
0
    def do_delete_alarms(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        tenant_id = helpers.get_tenant_id(req)

        self._alarm_delete(tenant_id, id)

        res.status = falcon.HTTP_204
예제 #7
0
 def do_post_notification_methods(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._default_authorized_roles)
     notification = helpers.read_http_resource(req)
     self._validate_notification(notification)
     tenant_id = helpers.get_tenant_id(req)
     result = self._create_notification(tenant_id, notification, req.uri)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_201
예제 #8
0
    def do_get_alarm_state_history(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)

        result = self._alarm_history(tenant_id, [id])

        res.body = json.dumps(result, ensure_ascii=False).encode('utf8')
        res.status = falcon.HTTP_200
예제 #9
0
    def do_delete_alarms(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        tenant_id = helpers.get_tenant_id(req)

        self._alarm_delete(tenant_id, id)

        res.status = falcon.HTTP_204
예제 #10
0
 def do_post_notification_methods(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._default_authorized_roles)
     notification = helpers.read_http_resource(req)
     self._validate_notification(notification)
     tenant_id = helpers.get_tenant_id(req)
     result = self._create_notification(tenant_id, notification, req.uri)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_201
예제 #11
0
 def do_put_notification_methods(self, req, res, id):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._default_authorized_roles)
     notification = helpers.read_http_resource(req)
     self._validate_notification(notification)
     tenant_id = helpers.get_tenant_id(req)
     self._update_notification(id, tenant_id, notification)
     res.body = self._create_notification_response(id, notification,
                                                   req.uri)
     res.status = falcon.HTTP_200
예제 #12
0
 def do_post_events(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._post_events_authorized_roles)
     event = helpers.read_http_resource(req)
     self._validate_event(event)
     tenant_id = helpers.get_tenant_id(req)
     transformed_event = self._event_transform(event, tenant_id,
                                               self._region)
     self._send_event(transformed_event)
     res.status = falcon.HTTP_204
예제 #13
0
    def do_get_alarm_definition(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)

        result = self._alarm_definition_show(tenant_id, id)

        helpers.add_links_to_resource(result, re.sub('/' + id, '', req.uri))
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #14
0
 def do_post_events(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._post_events_authorized_roles)
     event = helpers.read_http_resource(req)
     self._validate_event(event)
     tenant_id = helpers.get_tenant_id(req)
     transformed_event = self._event_transform(event, tenant_id,
                                               self._region)
     self._send_event(transformed_event)
     res.status = falcon.HTTP_204
예제 #15
0
    def do_get_alarm_definition(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)

        result = self._alarm_definition_show(tenant_id, id)

        helpers.add_links_to_resource(result, re.sub('/' + id, '', req.uri))
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #16
0
 def do_post_transforms(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._default_authorized_roles)
     transform = helpers.read_http_resource(req)
     self._validate_transform(transform)
     id = uuidutils.generate_uuid()
     tenant_id = helpers.get_tenant_id(req)
     self._create_transform(id, tenant_id, transform)
     res.body = self._create_transform_response(id, transform)
     res.status = falcon.HTTP_200
예제 #17
0
 def do_post_transforms(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req, self._default_authorized_roles)
     transform = helpers.read_http_resource(req)
     self._validate_transform(transform)
     id = uuidutils.generate_uuid()
     tenant_id = helpers.get_tenant_id(req)
     self._create_transform(id, tenant_id, transform)
     res.body = self._create_transform_response(id, transform)
     res.status = falcon.HTTP_200
예제 #18
0
 def do_get_metrics(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)
     result = self._list_metrics(tenant_id, name, dimensions)
     res.body = json.dumps(result, ensure_ascii=False).encode('utf8')
     res.status = falcon.HTTP_200
예제 #19
0
    def do_get_alarm_state_history(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)
        offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))

        result = self._alarm_history(tenant_id, [id], req.uri, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #20
0
    def do_get_alarms(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)

        result = self._alarm_list(req.uri, tenant_id, query_parms)

        res.body = json.dumps(result, ensure_ascii=False).encode('utf8')
        res.status = falcon.HTTP_200
예제 #21
0
    def do_get_alarm_state_history(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)
        offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))

        result = self._alarm_history(tenant_id, [id], req.uri, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #22
0
 def do_post_metrics(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req,
                                    self._post_metrics_authorized_roles)
     metrics = helpers.read_http_resource(req)
     self._validate_metrics(metrics)
     tenant_id = (helpers.get_x_tenant_or_tenant_id(
         req, self._delegate_authorized_roles))
     transformed_metrics = self._metrics_transform(metrics, tenant_id,
                                                   self._region)
     self._send_metrics(transformed_metrics)
     res.status = falcon.HTTP_204
예제 #23
0
    def do_get_alarms_state_history(self, req, res):

        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)

        result = self._alarm_history_list(tenant_id, start_timestamp,
                                          end_timestamp, query_parms)

        res.body = json.dumps(result, ensure_ascii=False).encode('utf8')
        res.status = falcon.HTTP_200
예제 #24
0
 def do_get_metrics(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.normalize_offset(helpers.get_query_param(req,
                                                               'offset'))
     result = self._list_metrics(tenant_id, name, dimensions,
                                 req.uri, offset)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #25
0
 def do_get_metrics(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.normalize_offset(
         helpers.get_query_param(req, 'offset'))
     result = self._list_metrics(tenant_id, name, dimensions, req.uri,
                                 offset)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #26
0
 def do_get_measurements(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)
     start_timestamp = helpers.get_query_starttime_timestamp(req)
     end_timestamp = helpers.get_query_endtime_timestamp(req)
     result = self._measurement_list(tenant_id, name, dimensions,
                                     start_timestamp, end_timestamp)
     res.body = json.dumps(result, ensure_ascii=False).encode('utf8')
     res.status = falcon.HTTP_200
예제 #27
0
    def do_get_stream_definitions(self, req, res):

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)
        name = helpers.get_query_name(req)
        offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))
        limit = helpers.get_query_param(req, 'limit')
        result = self._stream_definition_list(tenant_id, name,
                                              req.uri, offset, limit)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #28
0
 def do_post_metrics(self, req, res):
     helpers.validate_json_content_type(req)
     helpers.validate_authorization(req,
                                    self._post_metrics_authorized_roles)
     metrics = helpers.read_http_resource(req)
     self._validate_metrics(metrics)
     tenant_id = \
         helpers.get_x_tenant_or_tenant_id(req,
                                           self._delegate_authorized_roles)
     transformed_metrics = self._metrics_transform(metrics, tenant_id,
                                                   self._region)
     self._send_metrics(transformed_metrics)
     res.status = falcon.HTTP_204
예제 #29
0
    def do_put_alarm_definitions(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        alarm_definition = read_json_msg_body(req)

        self._validate_alarm_definition(alarm_definition)

        tenant_id = helpers.get_tenant_id(req)

        # Mandatory positional args
        name = get_query_alarm_definition_name(alarm_definition)
        expression = get_query_alarm_definition_expression(alarm_definition)
        actions_enabled = (
            get_query_alarm_definition_actions_enabled(alarm_definition,
                                                       required=True))

        # Validator makes actions_enabled optional. So, check it here.
        if not actions_enabled:
            raise falcon.HTTPBadRequest('Bad request', 'Missing '
                                                       'actions_enabled')

        # Optional args
        description = get_query_alarm_definition_description(alarm_definition,
                                                             return_none=True)
        alarm_actions = get_query_alarm_definition_alarm_actions(
            alarm_definition, return_none=True)
        ok_actions = get_query_ok_actions(alarm_definition, return_none=True)
        undetermined_actions = get_query_alarm_definition_undetermined_actions(
            alarm_definition, return_none=True)
        match_by = get_query_alarm_definition_match_by(alarm_definition,
                                                       return_none=True)
        severity = get_query_alarm_definition_severity(alarm_definition,
                                                       return_none=True)

        result = self._alarm_definition_update_or_patch(tenant_id,
                                                        id,
                                                        name,
                                                        expression,
                                                        actions_enabled,
                                                        description,
                                                        alarm_actions,
                                                        ok_actions,
                                                        undetermined_actions,
                                                        match_by,
                                                        severity,
                                                        patch=False)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #30
0
    def do_get_alarm_by_id(self, req, res, id):

        # Necessary because falcon interprets 'state-history' as an
        # alarm id, and this url masks '/v2.0/alarms/state-history'.
        if id.lower() == 'state-history':
            return self.do_get_alarms_state_history(req, res)

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)

        result = self._alarm_show(req.uri, tenant_id, id)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #31
0
    def do_put_alarms(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        tenant_id = helpers.get_tenant_id(req)

        state = self._get_alarm_state(req)

        self._alarm_update(tenant_id, id, state)

        result = self._alarm_show(req.uri, tenant_id, id)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #32
0
    def do_get_alarm_by_id(self, req, res, id):

        # Necessary because falcon interprets 'state-history' as an
        # alarm id, and this url masks '/v2.0/alarms/state-history'.
        if id.lower() == 'state-history':
            return self.do_get_alarms_state_history(req, res)

        helpers.validate_authorization(req, self._default_authorized_roles)
        tenant_id = helpers.get_tenant_id(req)

        result = self._alarm_show(req.uri, tenant_id, id)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #33
0
    def do_get_alarms(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)

        offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))

        result = self._alarm_list(req.uri, tenant_id, query_parms, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #34
0
    def do_put_alarm_definitions(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        alarm_definition = helpers.read_json_msg_body(req)

        self._validate_alarm_definition(alarm_definition)

        tenant_id = helpers.get_tenant_id(req)

        # Mandatory positional args
        name = get_query_alarm_definition_name(alarm_definition)
        expression = get_query_alarm_definition_expression(alarm_definition)
        actions_enabled = (get_query_alarm_definition_actions_enabled(
            alarm_definition, required=True))

        # Validator makes actions_enabled optional. So, check it here.
        if not actions_enabled:
            raise falcon.HTTPBadRequest('Bad request', 'Missing '
                                        'actions_enabled')

        # Optional args
        description = get_query_alarm_definition_description(alarm_definition,
                                                             return_none=True)
        alarm_actions = get_query_alarm_definition_alarm_actions(
            alarm_definition, return_none=True)
        ok_actions = get_query_ok_actions(alarm_definition, return_none=True)
        undetermined_actions = get_query_alarm_definition_undetermined_actions(
            alarm_definition, return_none=True)
        match_by = get_query_alarm_definition_match_by(alarm_definition,
                                                       return_none=True)
        severity = get_query_alarm_definition_severity(alarm_definition,
                                                       return_none=True)

        result = self._alarm_definition_update_or_patch(tenant_id,
                                                        id,
                                                        name,
                                                        expression,
                                                        actions_enabled,
                                                        description,
                                                        alarm_actions,
                                                        ok_actions,
                                                        undetermined_actions,
                                                        match_by,
                                                        severity,
                                                        patch=False)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #35
0
    def do_put_alarms(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        tenant_id = helpers.get_tenant_id(req)

        state = self._get_alarm_state(req)

        self._alarm_update(tenant_id, id, state)

        result = self._alarm_show(req.uri, tenant_id, id)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #36
0
    def do_get_alarms(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)

        offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))

        result = self._alarm_list(req.uri, tenant_id, query_parms, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #37
0
    def do_put_alarms(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        tenant_id = helpers.get_tenant_id(req)

        state = self._get_alarm_state(req)

        self._alarm_update(tenant_id, id, state)

        result = self._alarm_show(req.uri, tenant_id, id)

        res.body = json.dumps(result, ensure_ascii=False).encode('utf8')
        res.status = falcon.HTTP_200
예제 #38
0
 def do_get_statistics(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)
     start_timestamp = helpers.get_query_starttime_timestamp(req)
     end_timestamp = helpers.get_query_endtime_timestamp(req, False)
     statistics = helpers.get_query_statistics(req)
     period = helpers.get_query_period(req)
     result = self._metric_statistics(tenant_id, name, dimensions,
                                      start_timestamp, end_timestamp,
                                      statistics, period)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #39
0
 def do_get_statistics(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)
     start_timestamp = helpers.get_query_starttime_timestamp(req)
     end_timestamp = helpers.get_query_endtime_timestamp(req, False)
     statistics = helpers.get_query_statistics(req)
     period = helpers.get_query_period(req)
     result = self._metric_statistics(tenant_id, name, dimensions,
                                      start_timestamp, end_timestamp,
                                      statistics, period)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #40
0
    def do_get_alarms_state_history(self, req, res):

        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.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))

        result = self._alarm_history_list(tenant_id, start_timestamp,
                                          end_timestamp, query_parms,
                                          req.uri, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #41
0
    def do_get_alarms_state_history(self, req, res):

        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.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))

        result = self._alarm_history_list(tenant_id, start_timestamp,
                                          end_timestamp, query_parms,
                                          req.uri, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #42
0
    def do_get_measurements(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)
        start_timestamp = helpers.get_query_starttime_timestamp(req)
        end_timestamp = helpers.get_query_endtime_timestamp(req, False)
        offset = helpers.normalize_offset(helpers.get_query_param(req,
                                                                  'offset'))
        result = self._measurement_list(tenant_id, name, dimensions,
                                        start_timestamp, end_timestamp,
                                        req.uri, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #43
0
    def do_get_measurements(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)
        start_timestamp = helpers.get_query_starttime_timestamp(req)
        end_timestamp = helpers.get_query_endtime_timestamp(req, False)
        offset = helpers.normalize_offset(
            helpers.get_query_param(req, 'offset'))
        result = self._measurement_list(tenant_id, name, dimensions,
                                        start_timestamp, end_timestamp,
                                        req.uri, offset)

        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #44
0
    def do_patch_alarm_definitions(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        alarm_definition = read_json_msg_body(req)

        tenant_id = helpers.get_tenant_id(req)

        # Optional args
        name = get_query_alarm_definition_name(alarm_definition,
                                               return_none=True)
        expression = get_query_alarm_definition_expression(alarm_definition,
                                                           return_none=True)
        actions_enabled = (
            get_query_alarm_definition_actions_enabled(alarm_definition,
                                                       return_none=True))

        description = get_query_alarm_definition_description(alarm_definition,
                                                             return_none=True)
        alarm_actions = get_query_alarm_definition_alarm_actions(
            alarm_definition, return_none=True)
        ok_actions = get_query_ok_actions(alarm_definition, return_none=True)
        undetermined_actions = get_query_alarm_definition_undetermined_actions(
            alarm_definition, return_none=True)
        match_by = get_query_alarm_definition_match_by(alarm_definition,
                                                       return_none=True)
        severity = get_query_alarm_definition_severity(alarm_definition,
                                                       return_none=True)

        result = self._alarm_definition_update_or_patch(tenant_id,
                                                        id,
                                                        name,
                                                        expression,
                                                        actions_enabled,
                                                        description,
                                                        alarm_actions,
                                                        ok_actions,
                                                        undetermined_actions,
                                                        match_by,
                                                        severity,
                                                        patch=True)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #45
0
    def do_patch_alarm_definitions(self, req, res, id):

        helpers.validate_authorization(req, self._default_authorized_roles)

        alarm_definition = helpers.read_json_msg_body(req)

        tenant_id = helpers.get_tenant_id(req)

        # Optional args
        name = get_query_alarm_definition_name(alarm_definition,
                                               return_none=True)
        expression = get_query_alarm_definition_expression(alarm_definition,
                                                           return_none=True)
        actions_enabled = (get_query_alarm_definition_actions_enabled(
            alarm_definition, return_none=True))

        description = get_query_alarm_definition_description(alarm_definition,
                                                             return_none=True)
        alarm_actions = get_query_alarm_definition_alarm_actions(
            alarm_definition, return_none=True)
        ok_actions = get_query_ok_actions(alarm_definition, return_none=True)
        undetermined_actions = get_query_alarm_definition_undetermined_actions(
            alarm_definition, return_none=True)
        match_by = get_query_alarm_definition_match_by(alarm_definition,
                                                       return_none=True)
        severity = get_query_alarm_definition_severity(alarm_definition,
                                                       return_none=True)

        result = self._alarm_definition_update_or_patch(tenant_id,
                                                        id,
                                                        name,
                                                        expression,
                                                        actions_enabled,
                                                        description,
                                                        alarm_actions,
                                                        ok_actions,
                                                        undetermined_actions,
                                                        match_by,
                                                        severity,
                                                        patch=True)

        helpers.add_links_to_resource(result, req.uri)
        res.body = helpers.dumpit_utf8(result)
        res.status = falcon.HTTP_200
예제 #46
0
 def do_get_transforms(self, req, res):
     helpers.validate_authorization(req, self._default_authorized_roles)
     tenant_id = helpers.get_tenant_id(req)
     res.body = self._list_transforms(tenant_id)
     res.status = falcon.HTTP_200
예제 #47
0
 def do_get_notification_method(self, req, res, id):
     helpers.validate_authorization(req, self._default_authorized_roles)
     tenant_id = helpers.get_tenant_id(req)
     res.body = self._list_notification(tenant_id, id, req.uri)
     res.status = falcon.HTTP_200
예제 #48
0
 def do_get_event(self, req, res, id):
     helpers.validate_authorization(req, self._default_authorized_roles)
     tenant_id = helpers.get_tenant_id(req)
     result = self._list_event(tenant_id, id, req.uri)
     res.body = helpers.dumpit_utf8(result)
     res.status = falcon.HTTP_200
예제 #49
0
 def do_get_transforms(self, req, res):
     helpers.validate_authorization(req, self._default_authorized_roles)
     tenant_id = helpers.get_tenant_id(req)
     res.body = self._list_transforms(tenant_id)
     res.status = falcon.HTTP_200