Source code for virttest.libvirt_xml.devices.controller

"""
controller device support class(es)

http://libvirt.org/formatdomain.html#elementsControllers
"""

from virttest.libvirt_xml import accessors
from virttest.libvirt_xml.devices import base, librarian


[docs]class Controller(base.TypedDeviceBase): __slots__ = ('type', 'index', 'model', 'ports', 'vectors', 'driver', 'address', 'pcihole64') def __init__(self, type_name, virsh_instance=base.base.virsh): super(Controller, self).__init__(device_tag='controller', type_name=type_name, virsh_instance=virsh_instance) accessors.XMLAttribute('type', self, parent_xpath='/', tag_name='controller', attribute='type') accessors.XMLAttribute('index', self, parent_xpath='/', tag_name='controller', attribute='index') accessors.XMLAttribute('model', self, parent_xpath='/', tag_name='controller', attribute='model') accessors.XMLAttribute('ports', self, parent_xpath='/', tag_name='controller', attribute='ports') accessors.XMLAttribute('vectors', self, parent_xpath='/', tag_name='controller', attribute='vectors') accessors.XMLElementText('pcihole64', self, parent_xpath='/', tag_name='pcihole64') accessors.XMLElementDict('driver', self, parent_xpath='/', tag_name='driver') accessors.XMLElementNest('address', self, parent_xpath='/', tag_name='address', subclass=self.Address, subclass_dargs={'type_name': 'pci', 'virsh_instance': virsh_instance}) Address = librarian.get('address')
[docs] def new_controller_address(self, **dargs): """ Return a new controller Address instance and set properties from dargs """ new_one = self.Address("pci", virsh_instance=self.virsh) for key, value in dargs.items(): setattr(new_one, key, value) return new_one