def METHOD_NAME(cli, args):
    if not vars(args).get('password'):
        args.password = getpass.getpass('password for %s: ' % args.username)
    chap_ppp_id = args.chap_id
    chap_challenge = args.chap_challenge
    if args.authen_type == TAC_PLUS_AUTHEN_TYPE_CHAP:
        if chap_ppp_id == None:
            chap_ppp_id = six.moves.input('chap PPP ID: ')
        if chap_challenge == None:
            chap_challenge = six.moves.input('chap challenge: ')
    auth = cli.METHOD_NAME(args.username, args.password, priv_lvl=args.priv_lvl,
                            authen_type=args.authen_type, chap_ppp_id=chap_ppp_id,
                            chap_challenge=chap_challenge, rem_addr=args.rem_addr,
                            port=args.virtual_port)
    if args.verbose:
        verbose_response(auth)
    return 0 if auth.valid else 1