diff --git a/src/dogapi/http/events.py b/src/dogapi/http/events.py index 5a645fa..f708466 100644 --- a/src/dogapi/http/events.py +++ b/src/dogapi/http/events.py @@ -80,7 +80,7 @@ def get_event(self, id): response_formatter=lambda x: x['event'], ) - def _event(self, title, text, date_happened=None, handle=None, priority=None, related_event_id=None, tags=None, host=None, device_name=None, aggregation_key=None, **kwargs): + def _event(self, title, text, date_happened=None, handle=None, priority=None, related_event_id=None, tags=None, host=None, device_name=None, aggregation_key=None, source_type_name=None,**kwargs): """ Post an event. @@ -114,6 +114,9 @@ def _event(self, title, text, date_happened=None, handle=None, priority=None, re :param aggregation_key: key to aggregate this event on :type aggregation_key: string + :param source_type_name: type of event to post the event with + :type source_type_name: string + :return: new event id :rtype: integer """ @@ -146,6 +149,9 @@ def _event(self, title, text, date_happened=None, handle=None, priority=None, re if aggregation_key is not None: body['aggregation_key'] = aggregation_key + if source_type_name is not None: + body['source_type_name'] = source_type_name + body.update(kwargs) return self.http_request('POST', '/events', body, diff --git a/src/dogshell/event.py b/src/dogshell/event.py index 4aaf721..7b23e4b 100644 --- a/src/dogshell/event.py +++ b/src/dogshell/event.py @@ -65,6 +65,7 @@ def setup_parser(self, subparsers): post_parser.add_argument('--tags', help='comma separated list of tags') post_parser.add_argument('--host', help='related host') post_parser.add_argument('--device', help='related device (e.g. eth0, /dev/sda1)') + post_parser.add_argument('--aggregation_key', help='key to aggregate the event with') post_parser.add_argument('--type', help='type of event, e.g. nagios, jenkins, etc.') post_parser.add_argument('message', help='event message body. if unset, reads from stdin.', nargs="?") post_parser.set_defaults(func=self._post) @@ -99,7 +100,9 @@ def _post(self, args): args.related_event_id, tags, args.host, - args.device) + args.device, + args.aggregation_key, + args.type) report_warnings(res) report_errors(res) if format == 'pretty':