NetBox plugin to display VitalQIP IPAM data and import IP addresses
Project description
NetBox VitalQIP Plugin
A NetBox plugin that integrates with Nokia VitalQIP IPAM to display IP address data and enable importing prefixes and IP addresses from QIP to NetBox.
Features
- Device/VM Tabs: View VitalQIP data for any device or VM based on their assigned IP addresses
- Prefix Import: Search VitalQIP for networks using wildcard patterns and import them as prefixes
- IP Address Import: Look up individual IP addresses and import them with DNS names
- Caching: Results are cached to minimize API calls to VitalQIP
Requirements
- NetBox 4.0+
- Python 3.10+
- Nokia VitalQIP REST API access
Installation
pip install netbox-vitalqip
Add to NetBox configuration.py:
PLUGINS = [
'netbox_vitalqip',
]
PLUGINS_CONFIG = {
'netbox_vitalqip': {
'qip_url': 'https://dhcp.example.com/api',
'qip_username': 'your-username',
'qip_password': 'your-password',
'qip_organization': 'YourOrg',
'timeout': 30,
'cache_timeout': 300,
'verify_ssl': False,
},
}
Usage
Device/VM Tab
Navigate to any Device or VirtualMachine detail page. A "VitalQIP" tab shows:
- IP address assignments in QIP
- Object name and domain
- Subnet information
- Address type (Static/DHCP)
Import Prefixes
- Navigate to VitalQIP > Import from QIP
- Enter a wildcard pattern (e.g.,
10.*,172.16.*,192.168.1.*) - Review networks found in VitalQIP:
- New: Networks not yet in NetBox (can be imported)
- Existing: Networks already in NetBox (shown for reference)
- Select prefixes to import
Imported prefixes include:
- Description from QIP network name
- Appropriate status (Container for /16 and larger, Active for smaller)
- Tenant assignment
Import Single IP Address
- Navigate to VitalQIP > Import from QIP
- Enter a full IP address (e.g.,
192.168.1.1) - Review the QIP data (object name, domain, class, subnet)
- Import with DNS name auto-populated from QIP
API Notes
VitalQIP uses a REST API with legacy TLS requirements. The plugin handles:
- Token-based authentication (login returns Authentication header)
- Legacy SSL/TLS negotiation via OpenSSL configuration
- Response caching to minimize API calls
Endpoints Used
POST /api/login- AuthenticationGET /api/v1/{org}/v4address.json- Search addressesGET /api/v1/{org}/v4network.json- Get networksGET /api/v1/{org}/v4subnet.json- Get subnet info
Development
cd ~/development/netbox-vitalqip
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
License
Apache 2.0
Author
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_vitalqip-0.1.1.tar.gz.
File metadata
- Download URL: netbox_vitalqip-0.1.1.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed2e88669d24f54f5d169a3003f410a41a7e481245e1b66d34087c45731e157f
|
|
| MD5 |
0f554c50580e76338835b01633b7702c
|
|
| BLAKE2b-256 |
a34fe72ca75d09cbffbf344c9461c4c590440cd8acedcce6b1f23d067b9113b5
|
Provenance
The following attestation bundles were made for netbox_vitalqip-0.1.1.tar.gz:
Publisher:
release.yml on sieteunoseis/netbox-vitalqip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_vitalqip-0.1.1.tar.gz -
Subject digest:
ed2e88669d24f54f5d169a3003f410a41a7e481245e1b66d34087c45731e157f - Sigstore transparency entry: 871315566
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-vitalqip@c0ed58218e24baf3d9e883806d95b7c7f574cdd1 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c0ed58218e24baf3d9e883806d95b7c7f574cdd1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_vitalqip-0.1.1-py3-none-any.whl.
File metadata
- Download URL: netbox_vitalqip-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a862fe18ef8732a2e8c754fc19ded7cf126f91ef77761e020d93a53895b8399
|
|
| MD5 |
0893469848d5ae2becbaff28c27bc659
|
|
| BLAKE2b-256 |
82f3c834da8dc31affb116972f83cf28b1fcf75048d54586f919608c3749f947
|
Provenance
The following attestation bundles were made for netbox_vitalqip-0.1.1-py3-none-any.whl:
Publisher:
release.yml on sieteunoseis/netbox-vitalqip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_vitalqip-0.1.1-py3-none-any.whl -
Subject digest:
6a862fe18ef8732a2e8c754fc19ded7cf126f91ef77761e020d93a53895b8399 - Sigstore transparency entry: 871315568
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-vitalqip@c0ed58218e24baf3d9e883806d95b7c7f574cdd1 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c0ed58218e24baf3d9e883806d95b7c7f574cdd1 -
Trigger Event:
push
-
Statement type: