Python API ========== The API allows you to perform actions on instances programmatically. Below is an example of changing parameters and launching the `myinstance` instance. .. code-block:: python import logging from compute import Session logging.basicConfig(level=logging.DEBUG) with Session() as session: instance = session.get_instance('myinstance') instance.set_vcpus(4) instance.start() instance.set_autostart(enabled=True) :class:`Session` context manager provides an abstraction over :class:`libvirt.virConnect` and returns objects of other classes of the present library. Entity representation --------------------- Entities such as a compute-instance are represented as classes. These classes directly call libvirt methods to perform operations on the hypervisor. An example class is :class:`Volume`. The configuration files of various libvirt objects in `compute` are described by special dataclasses. The dataclass stores object parameters in its properties and can return an XML config for libvirt using the ``to_xml()`` method. For example :class:`VolumeConfig`. `Pydantic `_ models are used to validate input data. For example :class:`VolumeSchema`. Modules documentation --------------------- .. toctree:: :maxdepth: 4 session instance/index storage/index utils exceptions