5个不稳定版本
新 0.3.0 | 2024年8月22日 |
---|---|
0.2.2 | 2024年8月22日 |
0.2.1 | 2024年8月21日 |
0.2.0 | 2024年8月21日 |
0.1.0 | 2024年8月21日 |
323 在 硬件支持 中排名
每月下载量 229
16KB
210 行
Rustmiko
(目前) 与Netmiko兼容性较差,但在Rust中具有更好的类型化替代方案。
兼容性
类型 | 含义 |
---|---|
自动 | 已测试、支持,存在单元测试 |
完全 | 已测试,完全支持 |
部分 | 已测试,但可能有限制使用 |
有错误 | 对任何事情都没有保证 |
品牌 | 设备 | 支持 |
---|---|---|
Cisco | Catalyst 2960系列 | 完全 |
示例
此示例将在Cisco Catalyst 2960/CX系列交换机上设置所有端口。
fn main() -> anyhow::Result<()> {
let mut cisco = match CiscoTelnet::connect("192.168.1.101:23", "admin", "admin") {
Ok(cisco) => {
println!("Connected successfully");
cisco
},
Err(e) => {
eprintln!("Failed to connect: {}", e);
return Ok(());
},
};
{
let mut config = cisco.enter_config()?;
for index in 1..=8 {
let interface = config.get_interface("gi", &[0, index]);
match config.interface_up(&interface) {
Ok(_) => println!("Interface {} is now up", interface.name()),
Err(_) => println!("Failed to set Interface {} up", interface.name())
}
}
}
if let Err(e) = cisco.save() {
eprintln!("Failed to save configuration: {e}");
}
Ok(())
}
贡献
由于我是凡人的劣势,我没有能力或资源拥有世界上所有的交换机进行测试。如果更多人添加不同交换机的配置,我将非常感激。
谢谢!
依赖项
~4.5MB
~91K SLoC