Skip to main content

NetBox plugin for Cisco Support information including product details, EoX dates, bugs, and security advisories

Project description

NetBox Cisco Support Plugin

NetBox Cisco Support Plugin

NetBox Version Python Version License CI PyPI

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

  1. Go to Cisco API Console
  2. Sign in with your Cisco CCO ID
  3. Create a new application (or use an existing one)
  4. Add the following APIs to your application:
API Name Purpose Required
Serial Number to Information (SN2Info) v2 Coverage status, warranty dates Yes
Product Information API Product name, series, orderable status Yes
End of Life (EoX) API End-of-Life/Sale dates, migration info Yes
Bug API v2 Known bugs by product/software version Recommended
PSIRT API Security advisories Recommended
Software Suggestion API Recommended software versions Optional
  1. Copy your Client ID and Client Secret

API Endpoints Used

The plugin calls these specific endpoints:

# Coverage/Warranty
GET /sn2info/v2/coverage/status/serial_numbers/{serial}
GET /sn2info/v2/coverage/summary/serial_numbers/{serials}

# Product Information
GET /product/v1/information/serial_numbers/{serial}

# End of Life
GET /supporttools/eox/rest/5/EOXBySerialNumber/1/{serial}

# Bugs
GET /bug/v3.0/bugs/products/product_id/{pid}
GET /bug/v3.0/bugs/software_version/{version}

# Security Advisories
GET /security/advisories/v2/product

# Software Suggestions
GET /software/v4.0/suggestions/releases/productIds/{pid}

All APIs use OAuth2 client credentials flow with the same client_id/client_secret.

Usage

Once configured, the "Cisco Support" tab will automatically appear on device detail pages that meet these requirements:

  1. Device has a serial number assigned
  2. 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

Cisco Support Device Tab

Dashboard Widget

Cisco lifecycle widget showing End-of-Life status and PSIRT advisories.

Dashboard Widget

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)

Support

If you find this plugin helpful, consider supporting development:

Buy Me A Coffee

Links

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

netbox_cisco_support_api-1.0.12.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_cisco_support_api-1.0.12-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file netbox_cisco_support_api-1.0.12.tar.gz.

File metadata

File hashes

Hashes for netbox_cisco_support_api-1.0.12.tar.gz
Algorithm Hash digest
SHA256 728379a418dd53bdc58fe64817ee364d77bb2fbdb8c6a6eb0499e13990e4d807
MD5 7ea8ffab5dc36bf6e63c7d0935c22145
BLAKE2b-256 d6f3d48b06a71e4ec7ada7c9b682f90fd652137aa73bdd27bf14581434d3cfeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_cisco_support_api-1.0.12.tar.gz:

Publisher: release.yml on sieteunoseis/netbox-cisco-support

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_cisco_support_api-1.0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_cisco_support_api-1.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 09b940949a4bf8af490e2f62ad56e6e226e0846045292ebcc08073f64439b073
MD5 153cb2b2ddf2d4ace22a1b68c260834f
BLAKE2b-256 38b4e56381f3443bba4847e42db725e9d79134020f36629003244e914d0c3b59

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_cisco_support_api-1.0.12-py3-none-any.whl:

Publisher: release.yml on sieteunoseis/netbox-cisco-support

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page