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

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.10.tar.gz (23.7 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.10-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for netbox_cisco_support_api-1.0.10.tar.gz
Algorithm Hash digest
SHA256 7ea615dea6a284a12ed5bbcaef44b64a735020d3586aee38b515fb633d29290a
MD5 09093c84e71b6489d3e8940d22409087
BLAKE2b-256 710a994510b0d61f1db46ada934499ffe2812be9a0f7005de743bc7cfb1e26ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for netbox_cisco_support_api-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a1eb92cdeca90238a2ae86cb8bb88635ca06d16c3f3f6ea7e2c5cb6cf3131d81
MD5 333530da2f7e35f298a1e8aba263d402
BLAKE2b-256 d1e69f0c2a7f665da53d9c92ea69b4c4c59772028cbfa2419b4c77fccf4fb388

See more details on using hashes here.

Provenance

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