示例:使用 NETCONF Perl 客户端应用程序请求硬件组件库存
NETCONF Perl 分配包含多个示例 Perl 脚本,用于在运行 Junos OS 的设备上执行各种功能。 get_chassis_inventory.pl 脚本会检索并显示路由、交换或安全平台中安装的硬件组件的详细清单。这相当于在 Junos OS 命令行界面 (CLI) 中发出 show chassis hardware detail
操作模式命令。本主题介绍执行查询的脚本部分。
注意:
在 Junos OS 16.1 版之前,每个 Junos OS 版本都包括与版本相关的 NETCONF Perl 客户端的全新版本。从 Junos OS 16.1 版开始,NETCONF Perl 客户端与版本无关,托管在 GitHub 和 CPAN 上,可以管理运行任何 Junos OS 版本的设备。NETCONF Perl 发行版的与版本相关的示例脚本与 GitHub 和 CPAN 上托管的与版本无关版本中的示例脚本不同。
与 NETCONF 服务器建立连接后,脚本会发送 get_chassis_inventory
请求并包括参数 detail
。
my $query = "get_chassis_inventory"; my %queryargs = ( 'detail' => 'True' );
注意:
使用与版本相关的 NETCONF Perl 分布时,要包括固定格式选项,在调用方法时,请将选项设置为等于值 1(1)。
脚本会发送查询并将返回值分配给变量 $res
。脚本首先打印 RPC 请求和对标准输出的响应,然后打印到指定文件的响应。然后,该脚本会检查并打印遇到的任何错误。
my $res; # Netconf server response # send the command and get the server response my $res = $jnx->$query(%queryargs); print "Server request: \n $jnx->{'request'}\n Server response: \n $jnx->{'server_response'} \n"; # print the server response into xmlfile print_response($xmlfile, $jnx->{'server_response'}); # See if you got an error if ($jnx->has_error) { croak "ERROR: in processing request \n $jnx->{'request'} \n"; } else { print "Server Response:"; print "$res"; } # Disconnect from the Netconf server $jnx->disconnect();
版本历史记录表
释放
描述
16.1
从 Junos OS 16.1 版开始,NETCONF Perl 客户端与版本无关,托管在 GitHub 和 CPAN 上,可以管理运行任何 Junos OS 版本的设备。NETCONF Perl 发行版的与版本相关的示例脚本与 GitHub 和 CPAN 上托管的与版本无关版本中的示例脚本不同。