In this recipe, we are going to use all of the libvirt methods we saw in the earlier recipes to build a simple RESTfull API server, leveraging the bottle micro framework for Python.
Bottle is described as a fast and simple Web Server Gateway Interface (WSGI) micro web-framework for Python, which is distributed as a single module file.
For more information on the bottle micro framework please visit the official website at: https://bottlepy.org/docs/dev/.
The simple API server we are implementing, will accept the following requests:
getmethod that lists all defined libvirt instances.
postmethod used to define a new KVM instance. We are going to provide the XML definition as a header in the post request.
postmethod to start an instance. The name of the instance will be provided in the header of the request.
postmethod to spot a KVM instance.
postmethod to delete the instance.