Skip to main content

Python implementation of the Cisco Support APIs

Project description

Cisco Support APIs for Python 🐍

published GitHub license GitHub stars GitHub code size in bytes

Python implementation of the Cisco Support API

What are the Cisco Support APIs?

The Cisco Support APIs remove barriers to enterprise automation and can help end users shorten sales cycles and reduce operating expenses. This new way of delivering support information empowers customers and partners to use Cisco data in new and innovative ways to increase productivity and add new value to their business. The beauty of this approach is in its flexibility. Specifically, the Support APIs leverage Cisco's strength in delivering rich knowledge while providing options to customers and partners as to how they want to consume it. In addition, the Cisco Support API foundation provides the reference for future customer-facing and partner-facing web services and applications that will enable customers and partners to more effectively support Cisco products, networks and applications within their own business processes and systems.

Getting Started

Overview

Cisco Support APIs are available only to Cisco Smart Net Total Care (SNTC) customers and Cisco Partner Support Service (PSS) partner. Access is gated by a role-based process that is administered by the customer or partner in the Cisco Services Access Manager tool. The remaining steps to gain access to the Cisco Support APIs depend on whether you are an SNTC customer or a PSS partner.

Onboarding Process

To obtain access to the Cisco Support APIs you must assign someone from your organization as a Delegated Administrator. This individual is responsible for granting access to additional users and administrators within your organization. The process to onboard the Delegated Administrator depends on whether you are a Cisco Partner Service Support (PSS) partners or a Smart Net Total Care (SNTC) customer. Refer to the appropriate onboarding process here:

Cisco API Console

Install

TBD

pip install cisco-support

Use cisco_support

Automated Software Distribution

The Automated Software Distribution service provides software information and download URLs to assist you in upgrading your device/application to the latest version. You can find software images, verify MD5 checksum values, and electronically sign EULA and K9 agreements - all critical activities when upgrading.

TBD

import json
from cisco_support import ASD

asd = ASD(client_key, client_secret)

Bug

The Bug API service provides access to Cisco defects (bugs) information. Customers and partners can request bug information for either specific bugs or lookup list of bugs at a product level. Bug API also allows lookup of bugs using keywords of interest.

import json
from cisco_support import Bug

bugs = Bug(client_key, client_secret)

a = bugs.getByIDs(['CSCdr72939'])
print(json.dumps(a, indent=4))

b = bugs.getByBaseProductIDs('WS-C3560-48PS-S', status='F', modified_date=5, severity=2, sort_by='modified_date')
print(json.dumps(b, indent=4))

c = bugs.getByBaseProductIDsAndSoftwareReleases('WS-C3560-48PS-S', '12.2(25)SE', modified_date=5, sort_by='modified_date')
print(json.dumps(c, indent=4))

d = bugs.getByKeywords(['cisco', 'firewall'])
print(json.dumps(d, indent=4))

e = bugs.getByProductSeriesAndAffectedSoftwareRelease('Cisco 5500 Series Wireless Controllers', ['7.4(100.0)'])
print(json.dumps(e, indent=4))

f = bugs.getByProductSeriesAndFixedInSoftwareRelease('Cisco Nexus 9000 Series Switches', ['10.1(1)'], modified_date=5)
print(json.dumps(f, indent=4))

g = bugs.getByProductNameAndAffectedSoftwareRelease('Cisco Unity Connection Version 10.5', ['10.5(2)'], modified_date=5)
print(json.dumps(g, indent=4))

h = bugs.getByProductNameAndFixedInSoftwareRelease('Cisco Unified Communications Manager (CallManager)', ['10.5'])
print(json.dumps(h, indent=4))

Case

The Case API service provides access to Cisco Support Case information. Using the Case API, customers and partners can request case information for either specific support cases or at an aggregate level (i.e. user, contract or customer level) using a variety of input parameters.

TBD

import json
from cisco_support import Case

cases = Case(client_key, client_secret)

EoX

The End of Life (EoX) service provides access to Cisco EoX product data. Customers and partners can request Cisco EoX product information for both hardware and software using a variety of input parameters.

import json
from cisco_support import EoX

eox = EoX(client_key, client_secret)

a = eox.getByDates('2021-01-01','2021-01-31')
print(json.dumps(a, indent=4))

b = eox.getByProducsIDs(['15216-OADM1-35=', 'M92S1K9-1.3.3C'])
print(json.dumps(b, indent=4))

c = eox.getBySerialNumbers(['FHK0933224R'])
print(json.dumps(c, indent=4))

d = eox.getBySoftwareReleaseStrings(['12.4(15)T,IOS', '12.4(14)T,IOS'])
print(json.dumps(d, indent=4))

Product Information

The Product Information API service provides access to Cisco product information associated with device serial numbers or product ids.

import json
from cisco_support import PI

pi = PI(client_key, client_secret)

a = pi.getBySerialNumbers(['SPE181700LN','REF_CSJ07306405'])
print(json.dumps(a, indent=4))

b = pi.getByProductIDs(['UBR10012','ASR1001'])
print(json.dumps(b, indent=4))

c = pi.getMDFInformationByProductIDs(['ASA5505-50-BUN-K9'])
print(json.dumps(c, indent=4))

Serial Number to Information

The Serial Number to Information (SN2INFO) API service provides access to Cisco information associated with device serial numbers. Customers and partners can request orderable product identifier (PID), item description, warranty information and coverage status for set of serial numbers at a time.

import json
from cisco_support import SNI

nsi = SNI(client_key, client_secret)

a = nsi.getCoverageStatusBySerialNumbers(['FOC10220LK9'])
print(json.dumps(a, indent=4))

b = nsi.getCoverageSummaryByInstanceNumbers(['917280220'])
print(json.dumps(b, indent=4))

c = nsi.getCoverageSummaryBySerialNumbers(['SAL09232Q0Z','32964768','FOC0903N5J9','INM07501EC3','SWCAT1239A0CJ'])
print(json.dumps(c, indent=4))

d = nsi.getOrderableProductIDsBySerialNumbers(['FOC10220LK9'])
print(json.dumps(d, indent=4))

e = nsi.getOwnerCoverageStatusBySerialNumbers(['FOC0717W107','FOC11517LEX','FOC0737Y43K'])
print(json.dumps(e, indent=4))

Service Order Return (RMA)

The Service Order Return (RMA) API service provides access to Return Material Authorization (RMA) information. Customers and partners can request returns information for either specific returns or at an aggregate level (i.e. user level) using a variety of input parameters.

import json
from cisco_support import RMA

rma = RMA(client_key, client_secret)

a = rma.getByRMANumber('84894022')
print(json.dumps(a, indent=4))

b = rma.getByUserID(['svorma8'])
print(json.dumps(b, indent=4))

Software Suggestion

The Software Suggestion API service provides access to Cisco suggested software based on stability, longevity, adoption rate and other factors for a growing list of Cisco products. Customers and partners can access Cisco suggested and other available software based on their product, feature upgrade needs and hardware configuration.

import json
from cisco_support import SS

ss = SS(client_key, client_secret)

a = ss.getSuggestedReleasesAndImagesByProductIDs(['ASR-903','CISCO2811','N7K-C7018'])
print(json.dumps(a, indent=4))

b = ss.getSuggestedReleasesByProductIDs(['ASR-903','N7KS1K9-404','CISCO2811', 'ONS-GX-2FC-MMI'])
print(json.dumps(b, indent=4))

c = ss.getCompatibleAndSuggestedSoftwareReleasesByProductID('ASR1013')
print(json.dumps(c, indent=4))

d = ss.getSuggestedReleasesAndImagesByMDFIDs(['283933147','283780951'])
print(json.dumps(d, indent=4))

e = ss.getSuggestedReleasesByMDFIDs(['283933147','283780951'])
print(json.dumps(e, indent=4))

f = ss.getCompatibleAndSuggestedSoftwareReleasesByMDFID('283795847')
print(json.dumps(f, indent=4))

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

cisco_support-0.2.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

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

cisco_support-0.2.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file cisco_support-0.2.0.tar.gz.

File metadata

  • Download URL: cisco_support-0.2.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for cisco_support-0.2.0.tar.gz
Algorithm Hash digest
SHA256 32e76d6f2300370bf52161db9f6bd0b1bc24f0074353408af217316035733d9e
MD5 975aade2a717660dd903a2e77c15037c
BLAKE2b-256 7350aa6fe66546eb4cf32d568673e34f0fca721a0fb44d37b403a1be4e678874

See more details on using hashes here.

File details

Details for the file cisco_support-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: cisco_support-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for cisco_support-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca34ae14b9e34af1030267ff3c89157265f931ea395cb607e19c4c4f3ad962fc
MD5 3c17bbb2e20f004f3d261fad72dcbf3c
BLAKE2b-256 50d6444d78982f2b083d88456952f5c3736e4ed2da96909b46820deb090d93ed

See more details on using hashes here.

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