def policy_validation_settings(**kwargs):
    """
    Set policy validation settings. This is used when policy based
    tasks are created and `validate_policy` is set to True. The
    following kwargs can be overridden in the create constructor.
    
    :param bool configuration_validation_for_alert_chain: default False
    :param bool duplicate_rule_check_settings: default False
    :param bool empty_rule_check_settings: default True
    :param bool emtpy_rule_check_settings_for_alert: default False
    :param bool general_check_settings: default True
    :param bool nat_modification_check_settings: default True
    :param bool non_supported_feature: default True
    :param bool routing_modification_check: default False
    :param bool unreachable_rule_check_settings: default False
    :param bool vpn_validation_check_settings: default True
    :return: dict of validation settings
    """
    validation_settings = {
        'configuration_validation_for_alert_chain': False,
        'duplicate_rule_check_settings': False,
        'empty_rule_check_settings': True,
        'empty_rule_check_settings_for_alert': False,
        'general_check_settings': True,
        'nat_modification_check_settings': True,
        'non_supported_feature': True,
        'routing_modification_check': False,
        'unreachable_rule_check_settings': False,
        'vpn_validation_check_settings': True}
    
    for key, value in kwargs.items():
        validation_settings[key] = value
    
    return {'validation_settings': validation_settings}