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.11.tar.gz (26.3 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.11-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for netbox_cisco_support_api-1.0.11.tar.gz
Algorithm Hash digest
SHA256 63ebfeffe4a036ea378c639a41acb67dee221545eeb401e77bf8f22223ba66b4
MD5 4fd514a29105c1a193b7b47e97a1061a
BLAKE2b-256 623e5aa22edfa10b64dd07aa5837cb85286bc3273de0d89675942b43e62ce0f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_cisco_support_api-1.0.11.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.11-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_cisco_support_api-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 72f6a3f38200d8bd6b1656c84f1f36f9a2ab82e42f31b2c4e3c1e6a59f23b460
MD5 4541dd6f318efc4fd410424e09528258
BLAKE2b-256 e73b6e96f71f597572b68e59d9ad2ed9408707ff858e68b5cc8a1d3a23b1bb64

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_cisco_support_api-1.0.11-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