コード例 #1
0
ファイル: blackout.py プロジェクト: txirinedu/alerta
    def parse(cls, json):
        if not isinstance(json.get('service', []), list):
            raise ValueError('service must be a list')
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')

        return Blackout(environment=json.get('environment'),
                        service=json.get('service', list()),
                        resource=json.get('resource', None),
                        event=json.get('event', None),
                        group=json.get('group', None),
                        tags=json.get('tags', list()),
                        customer=json.get('customer', None),
                        start_time=DateTime.parse(json.get('startTime')),
                        end_time=DateTime.parse(json.get('endTime')),
                        duration=json.get('duration', None))
コード例 #2
0
ファイル: alert.py プロジェクト: 3IWOH/alerta
    def parse(cls, json):
        if not isinstance(json.get('correlate', []), list):
            raise ValueError('correlate must be a list')
        if not isinstance(json.get('service', []), list):
            raise ValueError('service must be a list')
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')
        if not isinstance(json.get('attributes', {}), dict):
            raise ValueError('attributes must be a JSON object')
        if not isinstance(json.get('timeout') if json.get('timeout', None) is not None else 0, int):
            raise ValueError('timeout must be an integer')

        return Alert(
            resource=json.get('resource', None),
            event=json.get('event', None),
            environment=json.get('environment', None),
            severity=json.get('severity', None),
            correlate=json.get('correlate', list()),
            status=json.get('status', None),
            service=json.get('service', list()),
            group=json.get('group', None),
            value=json.get('value', None),
            text=json.get('text', None),
            tags=json.get('tags', list()),
            attributes=json.get('attributes', dict()),
            origin=json.get('origin', None),
            event_type=json.get('type', None),
            create_time=DateTime.parse(json.get('createTime')),
            timeout=json.get('timeout', None),
            raw_data=json.get('rawData', None),
            customer=json.get('customer', None)
        )
コード例 #3
0
ファイル: alert.py プロジェクト: iDemonix/alerta
    def parse(cls, json: JSON) -> 'Alert':
        if not isinstance(json.get('correlate', []), list):
            raise ValueError('correlate must be a list')
        if not isinstance(json.get('service', []), list):
            raise ValueError('service must be a list')
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')
        if not isinstance(json.get('attributes', {}), dict):
            raise ValueError('attributes must be a JSON object')
        if not isinstance(json.get('timeout') if json.get('timeout', None) is not None else 0, int):
            raise ValueError('timeout must be an integer')
        if json.get('customer', None) == '':
            raise ValueError('customer must not be an empty string')

        return Alert(
            id=json.get('id', None),
            resource=json.get('resource', None),
            event=json.get('event', None),
            environment=json.get('environment', None),
            severity=json.get('severity', None),
            correlate=json.get('correlate', list()),
            status=json.get('status', None),
            service=json.get('service', list()),
            group=json.get('group', None),
            value=json.get('value', None),
            text=json.get('text', None),
            tags=json.get('tags', list()),
            attributes=json.get('attributes', dict()),
            origin=json.get('origin', None),
            event_type=json.get('type', None),
            create_time=DateTime.parse(json['createTime']) if 'createTime' in json else None,
            timeout=json.get('timeout', None),
            raw_data=json.get('rawData', None),
            customer=json.get('customer', None)
        )
コード例 #4
0
ファイル: alert.py プロジェクト: 3IWOH/alerta
 def get_body(self, history=True):
     body = self.serialize
     body.update({
         key: DateTime.iso8601(body[key]) for key in ['createTime', 'lastReceiveTime', 'receiveTime']
     })
     if not history:
         body['history'] = []
     return body
コード例 #5
0
ファイル: alert.py プロジェクト: wimfabri/alerta
 def get_body(self, history: bool=True) -> Dict[str, Any]:
     body = self.serialize
     body.update({
         key: DateTime.iso8601(body[key]) for key in ['createTime', 'lastReceiveTime', 'receiveTime']
     })
     if not history:
         body['history'] = []
     return body
コード例 #6
0
ファイル: blackout.py プロジェクト: 3IWOH/alerta
    def parse(cls, json):
        if not isinstance(json.get('service', []), list):
            raise ValueError('service must be a list')
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')

        return Blackout(
            environment=json.get('environment'),
            service=json.get('service', list()),
            resource=json.get('resource', None),
            event=json.get('event', None),
            group=json.get('group', None),
            tags=json.get('tags', list()),
            customer=json.get('customer', None),
            start_time=DateTime.parse(json.get('startTime')),
            end_time=DateTime.parse(json.get('endTime')),
            duration=json.get('duration', None)
        )
コード例 #7
0
ファイル: alert.py プロジェクト: ashwinbasavaraja/alerta
    def get_body(self, history: bool = True) -> Dict[str, Any]:
        body = self.serialize
        keys2Replace = ['createTime', 'lastReceiveTime', 'receiveTime']
        if 'updateTime' in body and body['updateTime'] != None:
            keys2Replace.append('updateTime')

        body.update({key: DateTime.iso8601(body[key]) for key in keys2Replace})
        if not history:
            body['history'] = []
        return body
コード例 #8
0
ファイル: blackout.py プロジェクト: umair-gujjar/alerta
    def parse(cls, json: JSON) -> 'Blackout':
        if not isinstance(json.get('service', []), list):
            raise ValueError('service must be a list')
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')

        return Blackout(id=json.get('id', None),
                        environment=json['environment'],
                        service=json.get('service', list()),
                        resource=json.get('resource', None),
                        event=json.get('event', None),
                        group=json.get('group', None),
                        tags=json.get('tags', list()),
                        customer=json.get('customer', None),
                        start_time=DateTime.parse(json['startTime'])
                        if 'startTime' in json else None,
                        end_time=DateTime.parse(json['endTime'])
                        if 'endTime' in json else None,
                        duration=json.get('duration', None),
                        user=json.get('user', None),
                        text=json.get('text', None))
コード例 #9
0
ファイル: heartbeat.py プロジェクト: 3IWOH/alerta
    def parse(cls, json):
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')
        if not isinstance(json.get('timeout') if json.get('timeout', None) is not None else 0, int):
            raise ValueError('timeout must be an integer')

        return Heartbeat(
            origin=json.get('origin', None),
            tags=json.get('tags', list()),
            create_time=DateTime.parse(json.get('createTime')),
            timeout=json.get('timeout', None),
            customer=json.get('customer', None)
        )
コード例 #10
0
    def parse(cls, json):
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')
        if not isinstance(
                json.get('timeout')
                if json.get('timeout', None) is not None else 0, int):
            raise ValueError('timeout must be an integer')

        return Heartbeat(origin=json.get('origin', None),
                         tags=json.get('tags', list()),
                         create_time=DateTime.parse(json.get('createTime')),
                         timeout=json.get('timeout', None),
                         customer=json.get('customer', None))
コード例 #11
0
    def parse(cls, json):
        if not isinstance(json.get('scopes', []), list):
            raise ValueError('scopes must be a list')

        api_key = ApiKey(user=json.get('user', None),
                         scopes=json.get('scopes', None) or list(),
                         text=json.get('text', None),
                         expire_time=DateTime.parse(json.get('expireTime')),
                         customer=json.get('customer', None))
        if 'type' in json:
            api_key.scopes = key_helper.type_to_scopes(api_key.user,
                                                       json['type'])

        return api_key
コード例 #12
0
ファイル: key.py プロジェクト: 3IWOH/alerta
    def parse(cls, json):
        if not isinstance(json.get('scopes', []), list):
            raise ValueError('scopes must be a list')

        api_key = ApiKey(
            user=json.get('user', None),
            scopes=json.get('scopes', None) or list(),
            text=json.get('text', None),
            expire_time=DateTime.parse(json.get('expireTime')),
            customer=json.get('customer', None)
        )
        if 'type' in json:
            api_key.scopes = key_helper.type_to_scopes(api_key.user, json['type'])

        return api_key
コード例 #13
0
ファイル: key.py プロジェクト: guardian/alerta
    def parse(cls, json: JSON) -> 'ApiKey':
        if not isinstance(json.get('scopes', []), list):
            raise ValueError('scopes must be a list')

        api_key = ApiKey(
            user=json.get('user', None),
            scopes=[Scope(s) for s in json.get('scopes', [])],
            text=json.get('text', None),
            expire_time=DateTime.parse(json['expireTime']) if 'expireTime' in json else None,
            customer=json.get('customer', None)
        )
        if 'type' in json:
            api_key.scopes = key_helper.type_to_scopes(api_key.user, json['type'])

        return api_key
コード例 #14
0
ファイル: test_blackouts.py プロジェクト: guardian/alerta
    def test_user_info(self):

        self.headers = {
            'Authorization': 'Key %s' % self.admin_api_key.key,
            'Content-type': 'application/json'
        }

        # create new blackout
        response = self.client.post('/blackout', data=json.dumps({'environment': 'Production', 'service': [
                                    'Network'], 'text': 'administratively down'}), headers=self.headers)
        self.assertEqual(response.status_code, 201)
        data = json.loads(response.data.decode('utf-8'))
        self.assertEqual(data['blackout']['user'], '*****@*****.**')
        self.assertIsInstance(DateTime.parse(data['blackout']['createTime']), datetime)
        self.assertEqual(data['blackout']['text'], 'administratively down')
コード例 #15
0
ファイル: key.py プロジェクト: yrsdi/alerta
    def parse(cls, json: JSON) -> 'ApiKey':
        if not isinstance(json.get('scopes', []), list):
            raise ValueError('scopes must be a list')

        api_key = ApiKey(
            user=json.get('user', None),
            scopes=[Scope(s) for s in json.get('scopes', [])],
            text=json.get('text', None),
            expire_time=DateTime.parse(json['expireTime']) if 'expireTime' in json else None,
            customer=json.get('customer', None)
        )
        if 'type' in json:
            api_key.scopes = key_helper.type_to_scopes(api_key.user, json['type'])

        return api_key
コード例 #16
0
    def test_user_info(self):

        self.headers = {
            'Authorization': 'Key %s' % self.admin_api_key.key,
            'Content-type': 'application/json'
        }

        # create new blackout
        response = self.client.post('/blackout', data=json.dumps({'environment': 'Production', 'service': [
                                    'Network'], 'text': 'administratively down'}), headers=self.headers)
        self.assertEqual(response.status_code, 201)
        data = json.loads(response.data.decode('utf-8'))
        self.assertEqual(data['blackout']['user'], '*****@*****.**')
        self.assertIsInstance(DateTime.parse(data['blackout']['createTime']), datetime)
        self.assertEqual(data['blackout']['text'], 'administratively down')
コード例 #17
0
    def parse(cls, json: JSON) -> 'Heartbeat':
        if not isinstance(json.get('tags', []), list):
            raise ValueError('tags must be a list')
        if not isinstance(json.get('timeout') if json.get('timeout', None) is not None else 0, int):
            raise ValueError('timeout must be an integer')
        if json.get('customer', None) == '':
            raise ValueError('customer must not be an empty string')

        return Heartbeat(
            origin=json.get('origin', None),
            tags=json.get('tags', list()),
            create_time=DateTime.parse(json['createTime']) if 'createTime' in json else None,
            timeout=json.get('timeout', None),
            customer=json.get('customer', None)
        )
コード例 #18
0
ファイル: blackout.py プロジェクト: guardian/alerta
 def update(self, **kwargs) -> 'Blackout':
     if kwargs.get('startTime'):
         kwargs['startTime'] = DateTime.parse(kwargs['startTime'])
     if kwargs.get('endTime'):
         kwargs['endTime'] = DateTime.parse(kwargs['endTime'])
     return Blackout.from_db(db.update_blackout(self.id, **kwargs))
コード例 #19
0
ファイル: base.py プロジェクト: moonlightp/alerta
 def _adapt_datetime(dt):
     return AsIs("%s" % adapt(DateTime.iso8601(dt)))
コード例 #20
0
ファイル: key.py プロジェクト: guardian/alerta
 def update(self, **kwargs) -> 'ApiKey':
     kwargs['expireTime'] = DateTime.parse(kwargs['expireTime']) if 'expireTime' in kwargs else None
     return ApiKey.from_db(db.update_key(self.key, **kwargs))
コード例 #21
0
 def update(self, **kwargs) -> 'Blackout':
     if kwargs.get('startTime'):
         kwargs['startTime'] = DateTime.parse(kwargs['startTime'])
     if kwargs.get('endTime'):
         kwargs['endTime'] = DateTime.parse(kwargs['endTime'])
     return Blackout.from_db(db.update_blackout(self.id, **kwargs))
コード例 #22
0
ファイル: key.py プロジェクト: raddessi/alerta
 def update(self, **kwargs) -> 'ApiKey':
     kwargs['expireTime'] = DateTime.parse(kwargs['expireTime']) if 'expireTime' in kwargs else None
     return ApiKey.from_db(db.update_key(self.key, **kwargs))
コード例 #23
0
ファイル: blackout.py プロジェクト: abhishekjiitr/alerta
 def update(self, **kwargs) -> 'Blackout':
     kwargs['startTime'] = DateTime.parse(
         kwargs['startTime']) if 'startTime' in kwargs else None
     kwargs['endTime'] = DateTime.parse(
         kwargs['endTime']) if 'endTime' in kwargs else None
     return Blackout.from_db(db.update_blackout(self.id, **kwargs))