使用pynetbox模块的netbox的CLI
nbcli的Python项目详细描述
nbcli NetBox命令行客户端
Netbox的可扩展命令行接口 使用pynetbox模块。在
nbcli仍在开发中!命令的语法可能会更改!
快速启动
关于Read the Docs的完整nbcli文档
$ pip install nbcli
$ nbcli init
Edit pynetbox 'url' and 'token' entries in user_config.yml:
~/.nbcli/user_config.yml
至少,您需要在用户中指定url和令牌_配置yml文件
^{pr2}$如果需要禁用SSL验证,请向用户添加(或取消注释)以下内容_yml配置文件。在
requests:verify:false
核心命令
扩展和自定义
测试
设置测试环境的说明是here。在
基本用法
运行Netbox对象的搜索并显示结果的表视图。在
$ nbcli search server
dcim.devices
============
ID Name Status Tenant Site Rack Role Type IP Address
1 server01 Active - AMS 1 rack-01 server Other -
2 server02 Active - AMS 2 rack-02 server Other -
3 server03 Active - SING 1 rack-03 server Other -
显示id为2的设备。在
$ nbcli show dcim.devices 2
server02
========
Device
------
Site: AMS 2
Rack: rack-02
Position: 2
Tenant: None
Device Type: Other
Serial Number:
Asset Tag: None
Management
----------
Role: None
Platform: None
Status: Active
Primary IPv4: None
Primary IPv6: None
Custom Fields
-------------
select_field: None
select_field_auto_weight: None
boolean_field: None
date_field: None
text_field: Description
Tags
----
Comments
--------
Interfaces
----------
Name LAG Description MTU Mode Cable Connection
to-server01 - - - - - - -
显示前缀10.1.1.0/24
$ nbcli show ipam.prefixes prefix=10.1.1.0/24
id: 1
family: IPv4
prefix: 10.1.1.0/24
site: AMS 1
vrf: None
tenant: tenant1
vlan: vlan1
status: Active
role: None
is_pool: False
description: prefix1
tags: []
custom_fields: {'text_field': None}
created: 2020-07-31
last_updated: 2020-07-31T21:09:11.947263Z
使用pynb(pynetbox包装器)列出所有IP地址
$ nbcli pynb ipam.ip_addresses all
ID IP Address Vrf Status Role Tenant Parent Interface DNS Name Description
1 10.1.1.1/24 vrf1 Active - - server01 to-server02 - -
3 10.1.1.2/24 - Active - - server02 to-server01 - -
5 10.1.1.10/24 - Reserved - tenant1 - - - reserved IP
2 2001:db8:a000:1::1/64 vrf1 Active - - server01 to-server02 - -
4 2001:db8:a000:1::2/64 - Active - - server02 to-server01 - -
6 2001:db8:a000:1::10/64 - Reserved - tenant1 - - - reserved IP
- 项目
标签: