PDK::Connector::Role - 设备连接器通用角色
SYNOPSIS
with 'PDK::Connector::Role';
# 在连接器类中使用该角色
has '+host' => (default => '192.168.1.1');
has '+username' => (default => 'admin');
DESCRIPTION
设备连接器的通用 Moose 角色,定义了网络设备连接的基本属性和方法。 所有具体的设备连接器类都应该使用这个角色,以确保统一的接口和行为。
ATTRIBUTES
host
设备主机名或IP地址,必需属性。
username
登录用户名,默认为 'read'。
password
登录密码,默认为空。
passphrase
密码短语,用于某些需要额外认证的设备。
enPassword
特权模式密码,用于进入特权模式。
proto
连接协议,默认为 'ssh',支持 ssh 和 telnet。
prompt
登录成功提示符的正则表达式模式。
enPrompt
特权模式提示符的正则表达式模式。
timeout
会话超时时间(秒),默认为30秒。
debug
调试模式级别,默认为2(不打印日志)。
log_file
日志文件路径,自动生成在用户目录的 logs 子目录下。
_login_
内部使用的登录状态标志。
_enable_
内部使用的特权模式状态标志。
METHODS
login
my $result = $conn->login;
登录设备方法。自动处理各种连接异常: - RSA密钥太小问题 - 不支持的加密算法 - 连接被拒绝(自动切换协议) - 主机密钥变更
返回包含登录结果的结构化数据。
connect
$conn->connect($args);
建立设备连接的实际实现。处理SSH密钥确认、密码输入、用户名提示等交互过程。
send
$conn->send($command);
发送命令到设备。
waitfor
my $output = $conn->waitfor($prompt);
等待设备响应,需要由具体连接器类实现。
execCommands
my $result = $conn->execCommands(\@commands);
执行多个命令序列,需要由具体连接器类实现。
getConfig
my $config = $conn->getConfig;
获取设备配置,需要由具体连接器类实现。
SEE ALSO
AUTHOR
WENWU YAN <968828@gmail.com>
LICENSE AND COPYRIGHT
版权所有 2025 WENWU YAN。
本软件按Perl自身许可条款发布。