various improvements

This commit is contained in:
ge
2023-12-03 23:25:34 +03:00
parent 0d5246e95e
commit b0fa1b7b25
36 changed files with 842 additions and 277 deletions

View File

@ -1,38 +1,8 @@
Python API
==========
The API allows you to perform actions on instances programmatically.
.. code-block:: python
import compute
with compute.Session() as session:
instance = session.get_instance('myinstance')
info = instance.get_info()
print(info)
: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 <https://docs.pydantic.dev/>`_ models are used to validate input data.
For example :class:`VolumeSchema`.
Modules documentation
---------------------
API Reference
-------------
.. toctree::
:maxdepth: 4

View File

@ -0,0 +1,5 @@
``devices``
===========
.. automodule:: compute.instance.devices
:members:

View File

@ -7,4 +7,5 @@
instance
guest_agent
devices
schemas

View File

@ -12,3 +12,10 @@
.. automodule:: compute.utils.ids
:members:
``utils.dictutil``
------------------
.. automodule:: compute.utils.dictutil
:members: