IOS XE Smart Licensing Using Policy API
Recommended Workflows
This section outlines the workflows that your own Smart Licensing application can use, for the following licensing functions:
- Collect RUM reports from the product instance.
- Revert to the product instance with a RUM ACK.
- Import a SLAC.
- Import a custom policy.
- Decommissioning a product instance.
Workflow for RUM Report Collection
- Close all currently open RUM reports on the product instance, by using API: POST /smartlic-service/close-reports.
- Get all the RUM report details from the product instance, by using API: GET /smartlic-service/all-reports.
The other GET options to collect RUM reports include:- /smartlic-service/list
- /smartlic-service/days/n (here "n" = number of days)
- /smartlic-service/days (90 days by default)
- Upload the RUM report to CSSM manually or by using the corresponding CSSM API and get the RUM ACK.
- Convert the RUM ACK file to a base64 encoded format. You can find tools to encode to or decode from a base64 format on the internet, for free, or you can use base64 libraries in programming languages like python, or Java.
- Send RUM ACK back to the product instance, by using API: POST /smartlic-service/import
Workflow to Upload RUM Report to CSSM and Download a RUM ACK
- Upload the RUM report to CSSM manually or by using the corresponding CSSM API and get the RUM ACK.
- Convert the RUM ACK file to a base64 encoded format. You can find tools to encode to or decode from a base64 format on the internet, for free, or you can use base64 libraries in programming languages like python, or Java.
- Send the RUM ACK back to the product instance, by using API: POST /smartlic-service/import.
Workflow for Missing RUM Report Collection
- Get the list of RUM reports on the product instance, by using API: GET /smartlic-service/list-reports.
- Get all the RUM report details, by ID, from the product instance, by using API: GET /smartlic-service/rum-report-id.
Workflow to Import SLAC
- Generate a SLAC on the CSSM Web UI at https://software.cisco.com, and download it to a file.
- Convert the SLAC file to a base64 encoded format. You can find tools to encode to or decode from a base64 format on the internet, for free, or you can use base64 libraries in programming languages like python, or Java.
- Import the SLAC on to the product instance, by using API: POST /smartlic-service/import.
Workflow to Import a Custom Policy
- Request a custom policy by contacting the Cisco Global Licensing Operations team here: Support Case Manager. Click OPEN NEW CASE > Software Licensing. Customized policies are also made available through your Smart account in CSSM.
- Download the .xml policy file from your Smart Account on the CSSM Web UI at https://software.cisco.com.
- Convert the .xml policy file to a base64 encoded format. You can find tools to encode to or decode from a base64 format on the internet, for free, or you can use base64 libraries in programming languages like python, or Java.
- Import the policy on to the product instance, by using API: POST /smartlic-service/import.
Decommissioning a Product Instance
RUM reports, once closed, are immutable. Hence an API to DELETE a RUM report is not supported.
To erase all the data on a product instance for purposes like permanently decommissioning it, or to return the product to Cisco for Return Material Authorization (RMA), complete the following steps:
- Send a RUM report to CSSM before removing licensing information from the product instance. This ensures that CSSM has up-to-date usage information.
- On the product instance, enter the factory reset command in privleged EXEC mode. This erases all customer-specific data that is stored in a product instance and restores the product instance to its original configuration at the time of shipping. The erasure is consistent with the clear method, as described in NIST SP 800-88 Rev. 1.