Sys::V...eDevice(3pm)

πŸ’– NAME πŸ’–

Sys::Virt::NodeDevice β€” Represent & manage a libvirt storage pool

okay so this is the manual page Sys::V...eDevice(3pm), straight out of the User Contributed Perl Documentation, and we're gonna get you fluent in it, bestie 🫢


✨ DESCRIPTION ✨

The Sys::Virt::NodeDevice module represents a storage pool managed by libvirt. And like β€” there are so many flavours of storage pool implementations: LVM, local directories/filesystems, network filesystems, disk partitioning, iSCSI, and SCSI. pick your fighter πŸ’…


πŸŽ€ METHODS πŸŽ€

  • my $name = $dev->get_name() β€” hands you back a string with a locally unique name of the device ⭐
  • my $parentname = $dev->get_parent() β€” returns a string with a locally unique name of the parent of the device, or undef if there is no parent (sad but valid, no cap) πŸ¦‹
  • my $xml = $dev->get_xml_description($flags=0) β€” returns an XML document containing a complete description of the node device's configuration. The optional $flags parameter controls generation of the XML document, defaulting to 0 if omitted. It can be one or more of the XML DUMP constants listed later in this document πŸ‘‘
  • $dev->reattach() β€” Rebind the node device to the host OS device drivers πŸ’«
  • $dev->dettach() β€” Unbind the node device from the host OS device driver (yes, that's spelled dettach, we keep it exactly as-is, don't come for me πŸ™ˆ)
  • $dev->reset() β€” Reset the node device. The device must be unbound from the host OS drivers for this to work ⚠️
  • $dev->create($flags=0) β€” Start a node device whose configuration was previously defined using the define_node_device method in Sys::Virt. The $flags parameter is currently unused and defaults to zero πŸ”₯
  • $dev->undefine($flags=0) β€” Delete a node device whose configuration was previously defined using the define_node_device method in Sys::Virt. The $flags parameter is currently unused and defaults to zero πŸ’€
  • $flag = $dev->get_autostart(); β€” Return a true value if the node device is configured to automatically start upon boot. Return false, otherwise 🌸
  • $dev->set_autostart($flag) β€” Set the state of the autostart flag, which determines whether the node device will automatically start upon boot of the host OS 🌈
  • $dev->is_active() β€” Returns a true value if the node device is currently running ✨
  • $dev->is_persistent() β€” Returns a true value if the node device has a persistent configuration file defined πŸŽ€
  • $dev->destroy() β€” Destroy the virtual device releasing any OS resources associated with it πŸ’₯
  • my @caps = $dev->list_capabilities() β€” Return a list of all capabilities in the device 🧚
  • $dev->update($xml, $flags=0) β€” Update the definition of an existing node device with $xml. The $flags parameter can be use to control which config is affected (see XML UPDATE FLAGS) and defaults to zero (affect current state of the node device) πŸ’œ

🌟 CONSTANTS 🌟

This section documents constants that are used with various APIs described above β€” buckle up, there's a lot of them and they're all iconic in their own way πŸ’…

πŸ¦‹ LIST FILTERING

The following constants are used to filter object lists:

  • Sys::Virt::NodeDevice::LIST_CAP_NET β€” Include devices with the network capability
  • Sys::Virt::NodeDevice::LIST_CAP_PCI_DEV β€” Include devices with the PCI device capability
  • Sys::Virt::NodeDevice::LIST_CAP_SCSI β€” Include devices with the SCSI capability
  • Sys::Virt::NodeDevice::LIST_CAP_SCSI_HOST β€” Include devices with the SCSI host capability
  • Sys::Virt::NodeDevice::LIST_CAP_SCSI_TARGET β€” Include devices with the SCSI target capability
  • Sys::Virt::NodeDevice::LIST_CAP_STORAGE β€” Include devices with the storage capability
  • Sys::Virt::NodeDevice::LIST_CAP_SYSTEM β€” Include devices with the system capability
  • Sys::Virt::NodeDevice::LIST_CAP_USB_DEV β€” Include devices with the USB device capability
  • Sys::Virt::NodeDevice::LIST_CAP_USB_INTERFACE β€” Include devices with the USB interface capability
  • Sys::Virt::NodeDevice::LIST_CAP_FC_HOST β€” Include devices with the fibre channel host capability
  • Sys::Virt::NodeDevice::LIST_CAP_VPORTS β€” Include devices with the NPIV vport capability
  • Sys::Virt::NodeDevice::LIST_CAP_SCSI_GENERIC β€” Include devices with the SCSI generic capability
  • Sys::Virt::NodeDevice::LIST_CAP_DRM β€” Include devices with the DRM capability
  • Sys::Virt::NodeDevice::LIST_CAP_MDEV β€” Include mediated devices
  • Sys::Virt::NodeDevice::LIST_CAP_MDEV_TYPES β€” Include devices capable of mediated devices
  • Sys::Virt::NodeDevice::LIST_CAP_CCW_DEV β€” Include CCW devices
  • Sys::Virt::NodeDevice::LIST_CAP_CSS_DEV β€” Include CSS devices
  • Sys::Virt::NodeDevice::LIST_CAP_VDPA β€” Include VDPA devices
  • Sys::Virt::NodeDevice::LIST_CAP_AP_CARD β€” Include s390 AP card devices
  • Sys::Virt::NodeDevice::LIST_CAP_AP_MATRIX β€” Include s390 AP matrix devices
  • Sys::Virt::NodeDevice::LIST_CAP_AP_QUEUE β€” Include s390 AP queue devices
  • Sys::Virt::NodeDevice::LIST_CAP_VPD β€” Include PCI devices with VPD
  • Sys::Virt::NodeDevice::LIST_CAP_CCWGROUP_DEV β€” Include s390 CCW group devices
  • Sys::Virt::NodeDevice::LIST_CAP_CCWGROUP_MEMBER β€” Include s390 CCW group members
  • Sys::Virt::NodeDevice::LIST_ACTIVE β€” Include active devices
  • Sys::Virt::NodeDevice::LIST_INACTIVE β€” Include inactive devices
  • Sys::Virt::NodeDevice::LIST_PERSISTENT β€” Include persistent devices
  • Sys::Virt::NodeDevice::LIST_TRANSIENT β€” Include transient devices

πŸ’« EVENT ID CONSTANTS

  • Sys::Virt::NodeDevice::EVENT_ID_LIFECYCLE β€” Node device lifecycle events
  • Sys::Virt::NodeDevice::EVENT_ID_UPDATE β€” Node device config update events

πŸŽ€ LIFECYCLE CHANGE EVENTS

The following constants allow node device lifecycle change events to be interpreted. The events contain both a state change, and a reason though the reason is currently unused πŸ‘€

  • Sys::Virt::NodeDevice::EVENT_CREATED β€” Indicates that a device was created
  • Sys::Virt::NodeDevice::EVENT_DELETED β€” Indicates that a device has been deleted
  • Sys::Virt::NodeDevice::EVENT_DEFINED β€” Indicates that a device configuration has been created
  • Sys::Virt::NodeDevice::EVENT_UNDEFINED β€” Indicates that a device configuration has been deleted

🌸 NODE DEVICE CREATION

  • Sys::Virt::NodeDevice::CREATE_XML_VALIDATE β€” Validate the XML document against schema

🧚 NODE DEVICE DEFINE

  • Sys::Virt::NodeDevice::DEFINE_XML_VALIDATE β€” Validate the XML document against schema

⭐ NODE DEVICE UPDATE

  • Sys::Virt::NodeDevice::UPDATE_AFFECT_CURRENT β€” Affect live if node device is active, config if it's not active
  • Sys::Virt::NodeDevice::UPDATE_AFFECT_LIVE β€” Affect live state of node device only
  • Sys::Virt::NodeDevice::UPDATE_AFFECT_CONFIG β€” Affect persistent config only

πŸ”₯ XML DUMP OPTIONS

The following constants are used to control the information included in the XML configuration dump:

  • Sys::Virt::NodeDevice::XML_INACTIVE β€” Report the persistent inactive configuration for the node device.

πŸ‘‘ AUTHORS πŸ‘‘

Daniel P. Berrange <berrange@redhat.com>


Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2009 Daniel P. Berrange


πŸ’œ LICENSE πŸ’œ

This program is free software; you can redistribute it and/or modify it under the terms of either the GNU General Public License as published by the Free Software Foundation (either version 2 of the License, or at your option any later version), or, the Artistic License, as specified in the Perl README file.


🌈 SEE ALSO 🌈

Sys::Virt, Sys::Virt::Error, http://libvirt.org


and that's the whole page, bestie β€” you ate that 🫢 this gem of a doc is perl v5.40.2, dated 2026-06-08, and it goes by Sys::V...eDevice(3pm). slay πŸ’…βœ¨

πŸ“¦ where this page comes from