Verifies that the specified cron job is absent for the specified user; only
    the name is matched when removing a cron job.

    name
        The command that should be absent in the user crontab.

    user
        The name of the user whose crontab needs to be modified, defaults to
        the root user

    identifier
        Custom-defined identifier for tracking the cron line for future crontab
        edits. This defaults to the state name

    special
        The special keyword used in the job (eg. @reboot, @hourly...).
        Quotes must be used, otherwise PyYAML will strip the '@' sign.

def absent(name,
           user='root',
           identifier=False,
           special=None,
           **kwargs):
    '''
    Verifies that the specified cron job is absent for the specified user; only
    the name is matched when removing a cron job.

    name
        The command that should be absent in the user crontab.

    user
        The name of the user whose crontab needs to be modified, defaults to
        the root user

    identifier
        Custom-defined identifier for tracking the cron line for future crontab
        edits. This defaults to the state name

    special
        The special keyword used in the job (eg. @reboot, @hourly...).
        Quotes must be used, otherwise PyYAML will strip the '@' sign.
    '''
    # NOTE: The keyword arguments in **kwargs are ignored in this state, but
    #       cannot be removed from the function definition, otherwise the use
    #       of unsupported arguments will result in a traceback.

    name = name.strip()
    if identifier is False:
        identifier = name
    ret = {'name': name,
           'result': True,
           'changes': {},
           'comment': ''}

    if __opts__['test']:
        status = _check_cron(user, name, identifier=identifier)
        ret['result'] = None
        if status == 'absent':
            ret['result'] = True
            ret['comment'] = 'Cron {0} is absent'.format(name)
        elif status == 'present' or status == 'update':
            ret['comment'] = 'Cron {0} is set to be removed'.format(name)
        return ret

    if special is None:
        data = __salt__['cron.rm_job'](user, name, identifier=identifier)
    else:
        data = __salt__['cron.rm_special'](user, name, special=special, identifier=identifier)

    if data == 'absent':
        ret['comment'] = "Cron {0} already absent".format(name)
        return ret
    if data == 'removed':
        ret['comment'] = ("Cron {0} removed from {1}'s crontab"
                          .format(name, user))
        ret['changes'] = {user: name}
        return ret
    ret['comment'] = ("Cron {0} for user {1} failed to commit with error {2}"
                      .format(name, user, data))
    ret['result'] = False
    return ret