I am trying to automate the upgrading of an IOS XE device using REST/RESTCONF and the accompanying YANG data models. I am trying to find the yang model or RPC call that would accomplish the cleaning (deleting) of unused image files on a device's (9200 switch) flash. Similar to "request platform software package clean switch all" or the older syntax "software clean" Cisco IOS commands.
I would like to accomplish something similar, but via the correct Yang model/RPC call with RESTCONF/NETCONF. I can copy a file to the device with this yang model/RPC call "Cisco-IOS-XE-rpc:copy " & then install/upgrade all in one shot with, "Cisco-IOS-XE-install-rpc:install".
I have been using Cisco's YangSuite to parse the many Yang modules available for my IOS XE device, but I am still having trouble finding any that will clean the device's flash similar to "request platform software package clean switch all" after we have upgraded the device. I am finding very little (to no) documentation or examples for a lot of the Yang modules to use with RESTCONF and was hoping someone smarter than me has already made this discovery. Thanks!
Marcel, again thank you for pointing me in the correct direction! Using CISCO-IOS-XE-install-rpc:remove was the yang model we needed. To correctly construct the body of that POST request took some trial and error, but we have a working RESTCONF API call that will now delete (remove) all inactive software images on an IOS XE device running 17.2.x and later (the CISCO-IOS-XE-install-rpc model was introduced in 17.2.x I believe. Later 17.2+ version of IOS XE code works with that model, but any 16.x or 17.1.x version of IOS XE code do not have this Yang model available for use).
If anyone else stumbles across this and wonders how to construct the body of this CISCO-IOS-XE-install-rpc:remove POST call, here is what we used for our use case (note we have no UUID to reference here so we just left it blank, but it seems that value is required). This will remove only the "inactive" software files as we marked "inactive: true":