NetBox plugin for Cisco Support information including product details, EoX dates, bugs, and security advisories
Project description
NetBox Cisco Support Plugin
A NetBox plugin that displays Cisco Support information for devices, including:
- Product Information - Product name, series, category, and orderable status
- End-of-Life (EoX) - Key lifecycle dates with migration recommendations
- Security Advisories (PSIRT) - Cisco security advisories affecting the product
- Known Bugs - Critical bugs (severity 1-3) from Cisco Bug Search
- Software Recommendations - Suggested software releases
Features
- Serial Number Based - Tab only appears on devices with a valid serial number
- Manufacturer Filtering - Configurable pattern to match Cisco manufacturers
- Direct Cisco API Integration - Uses Cisco Support APIs with OAuth2 authentication
- Caching - API responses are cached to reduce load and improve performance
- Visual Status Indicators - Color-coded badges for EoX dates and advisory severity
Requirements
- NetBox 4.0.0 or higher
- Python 3.10 or higher
- Cisco API credentials (from Cisco API Console)
Installation
Via pip (recommended)
pip install netbox-cisco-support-api
From source
git clone https://github.com/sieteunoseis/netbox-cisco-support.git
cd netbox-cisco-support
pip install .
Configuration
Add the plugin to your NetBox configuration.py:
PLUGINS = [
'netbox_cisco_support',
]
PLUGINS_CONFIG = {
'netbox_cisco_support': {
# Required: Cisco API credentials
'cisco_client_id': 'your-client-id',
'cisco_client_secret': 'your-client-secret',
# Optional: Manufacturer matching pattern (regex, case-insensitive)
# Default: r'cisco'
'manufacturer_pattern': r'cisco',
# Optional: API request timeout in seconds
'timeout': 30,
# Optional: Cache duration for API responses in seconds
'cache_timeout': 300,
}
}
Restart NetBox after making configuration changes.
Getting Cisco API Credentials
- Go to Cisco API Console
- Sign in with your Cisco CCO ID
- Register a new application
- Request access to the following APIs:
- Product Information API
- End of Life (EoX) API
- Bug API
- PSIRT (Security Advisory) API
- Software Suggestion API
- Copy your Client ID and Client Secret
Usage
Once configured, the "Cisco Support" tab will automatically appear on device detail pages that meet these requirements:
- Device has a serial number assigned
- Device manufacturer matches the
manufacturer_pattern(default: "cisco")
The tab displays:
- Product information from the serial number lookup
- End-of-Life status with key dates
- Security advisories affecting the product
- Known bugs (severity 1-3)
- Software recommendations
Screenshots
Device Cisco Support Tab
Development
Setup
git clone https://github.com/sieteunoseis/netbox-cisco-support.git
cd netbox-cisco-support
pip install -e .
Code Quality
# Format code
black netbox_cisco_support/
isort netbox_cisco_support/
# Lint
flake8 netbox_cisco_support/
License
Apache License 2.0 - See LICENSE for details.
Author
Jeremy Worden (@sieteunoseis)
Links
Project details
Release history Release notifications | RSS feed
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_cisco_support_api-1.0.2.tar.gz.
File metadata
- Download URL: netbox_cisco_support_api-1.0.2.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44e1ba82485ef379a31e74477cbfd5d01dd70fe085b446280273c44b14088665
|
|
| MD5 |
fbd1e28d94289222c1c72ee97004d88e
|
|
| BLAKE2b-256 |
1cd48bfa4fb130bbcfe2ea5d4de1567c812f64e3ec36985d2288f0337863fc4f
|
Provenance
The following attestation bundles were made for netbox_cisco_support_api-1.0.2.tar.gz:
Publisher:
release.yml on sieteunoseis/netbox-cisco-support
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_cisco_support_api-1.0.2.tar.gz -
Subject digest:
44e1ba82485ef379a31e74477cbfd5d01dd70fe085b446280273c44b14088665 - Sigstore transparency entry: 843970655
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-cisco-support@932a3afe2af8eb5654368a59e517fde498dd8ed3 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@932a3afe2af8eb5654368a59e517fde498dd8ed3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_cisco_support_api-1.0.2-py3-none-any.whl.
File metadata
- Download URL: netbox_cisco_support_api-1.0.2-py3-none-any.whl
- Upload date:
- Size: 13.7 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 |
be580677ba9958f98d1ee0335eabe522b10b9382b49bbc86ca310721c457cb9b
|
|
| MD5 |
1aba30446b6c2b9209ee8f7180b023db
|
|
| BLAKE2b-256 |
8052037a553e43cd0940eacbddf4437320c5a8b113b03ef6a25120b6d59d86fe
|
Provenance
The following attestation bundles were made for netbox_cisco_support_api-1.0.2-py3-none-any.whl:
Publisher:
release.yml on sieteunoseis/netbox-cisco-support
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_cisco_support_api-1.0.2-py3-none-any.whl -
Subject digest:
be580677ba9958f98d1ee0335eabe522b10b9382b49bbc86ca310721c457cb9b - Sigstore transparency entry: 843970658
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-cisco-support@932a3afe2af8eb5654368a59e517fde498dd8ed3 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@932a3afe2af8eb5654368a59e517fde498dd8ed3 -
Trigger Event:
push
-
Statement type: