@classmethod
def construct_event(cls, validation_data: dict, **kwargs):
    """
        Construct event from given dictionary and kwargs
        :param validation_data: usually it is a response data from Policy
        :param kwargs:
        :return: constructed event data dict
        """
    event_data = dict()
    event_data['result'] = cls._known_results[validation_data['access']]
    event_data['client_id'] = kwargs['client_id']
    event_data['action'] = cls._known_actions[kwargs['action']]
    event_data['application'] = kwargs['application']
    event_data['resource_id'] = kwargs['resource_id']
    event_data['asset_name'] = kwargs['asset_name']
    event_data['severity'] = kwargs['severity'] if kwargs.get('severity', None
        ) else 50
    event_data['reason'] = validation_data['cause'] if validation_data['access'
        ] == 'denied' and validation_data.get('cause', None) else None
    return event_data
