.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Sys::Virt::NodeDevice 3pm" .TH Sys::Virt::NodeDevice 3pm 2024-04-21 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Sys::Virt::NodeDevice \- Represent & manage a libvirt storage pool .SH DESCRIPTION .IX Header "DESCRIPTION" The \f(CW\*(C`Sys::Virt::NodeDevice\*(C'\fR module represents a storage pool managed by libvirt. There are a variety of storage pool implementations for LVM, Local directories/filesystems, network filesystems, disk partitioning, iSCSI, and SCSI. .SH METHODS .IX Header "METHODS" .ie n .IP "my $name = $dev\->\fBget_name()\fR" 4 .el .IP "my \f(CW$name\fR = \f(CW$dev\fR\->\fBget_name()\fR" 4 .IX Item "my $name = $dev->get_name()" Returns a string with a locally unique name of the device .ie n .IP "my $parentname = $dev\->\fBget_parent()\fR" 4 .el .IP "my \f(CW$parentname\fR = \f(CW$dev\fR\->\fBget_parent()\fR" 4 .IX Item "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 .ie n .IP "my $xml = $dev\->get_xml_description($flags=0)" 4 .el .IP "my \f(CW$xml\fR = \f(CW$dev\fR\->get_xml_description($flags=0)" 4 .IX Item "my $xml = $dev->get_xml_description($flags=0)" Returns an XML document containing a complete description of the node device's configuration. The optional \f(CW$flags\fR 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. .ie n .IP $dev\->\fBreattach()\fR 4 .el .IP \f(CW$dev\fR\->\fBreattach()\fR 4 .IX Item "$dev->reattach()" Rebind the node device to the host OS device drivers. .ie n .IP $dev\->\fBdettach()\fR 4 .el .IP \f(CW$dev\fR\->\fBdettach()\fR 4 .IX Item "$dev->dettach()" Unbind the node device from the host OS device driver .ie n .IP $dev\->\fBreset()\fR 4 .el .IP \f(CW$dev\fR\->\fBreset()\fR 4 .IX Item "$dev->reset()" Reset the node device. The device must be unbound from the host OS drivers for this to work .ie n .IP $dev\->create($flags=0) 4 .el .IP \f(CW$dev\fR\->create($flags=0) 4 .IX Item "$dev->create($flags=0)" Start a node device whose configuration was previously defined using the \&\f(CW\*(C`define_node_device\*(C'\fR method in Sys::Virt. The \f(CW$flags\fR parameter is currently unused and defaults to zero. .ie n .IP $dev\->undefine($flags=0) 4 .el .IP \f(CW$dev\fR\->undefine($flags=0) 4 .IX Item "$dev->undefine($flags=0)" Delete a node device whose configuration was previously defined using the \&\f(CW\*(C`define_node_device\*(C'\fR method in Sys::Virt. The \f(CW$flags\fR parameter is currently unused and defaults to zero. .ie n .IP "$flag = $dev\->\fBget_autostart()\fR;" 4 .el .IP "\f(CW$flag\fR = \f(CW$dev\fR\->\fBget_autostart()\fR;" 4 .IX Item "$flag = $dev->get_autostart();" Return a true value if the node device is configured to automatically start upon boot. Return false, otherwise .ie n .IP $dev\->set_autostart($flag) 4 .el .IP \f(CW$dev\fR\->set_autostart($flag) 4 .IX Item "$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. .ie n .IP $dev\->\fBis_active()\fR 4 .el .IP \f(CW$dev\fR\->\fBis_active()\fR 4 .IX Item "$dev->is_active()" Returns a true value if the node device is currently running .ie n .IP $dev\->\fBis_persistent()\fR 4 .el .IP \f(CW$dev\fR\->\fBis_persistent()\fR 4 .IX Item "$dev->is_persistent()" Returns a true value if the node device has a persistent configuration file defined .ie n .IP $dev\->\fBdestroy()\fR 4 .el .IP \f(CW$dev\fR\->\fBdestroy()\fR 4 .IX Item "$dev->destroy()" Destroy the virtual device releasing any OS resources associated with it. .ie n .IP "my @caps = $dev\->\fBlist_capabilities()\fR" 4 .el .IP "my \f(CW@caps\fR = \f(CW$dev\fR\->\fBlist_capabilities()\fR" 4 .IX Item "my @caps = $dev->list_capabilities()" Return a list of all capabilities in the device. .ie n .IP "$dev\->update($xml, $flags=0)" 4 .el .IP "\f(CW$dev\fR\->update($xml, \f(CW$flags\fR=0)" 4 .IX Item "$dev->update($xml, $flags=0)" Update the definition of an existing node device with \f(CW$xml\fR. The \&\f(CW$flags\fR 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). .SH CONSTANTS .IX Header "CONSTANTS" This section documents constants that are used with various APIs described above .SS "LIST FILTERING" .IX Subsection "LIST FILTERING" The following constants are used to filter object lists .IP Sys::Virt::NodeDevice::LIST_CAP_NET 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_NET" Include devices with the network capability .IP Sys::Virt::NodeDevice::LIST_CAP_PCI_DEV 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_PCI_DEV" Include devices with the PCI device capability .IP Sys::Virt::NodeDevice::LIST_CAP_SCSI 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_SCSI" Include devices with the SCSI capability .IP Sys::Virt::NodeDevice::LIST_CAP_SCSI_HOST 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_SCSI_HOST" Include devices with the SCSI host capability .IP Sys::Virt::NodeDevice::LIST_CAP_SCSI_TARGET 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_SCSI_TARGET" Include devices with the SCSI target capability .IP Sys::Virt::NodeDevice::LIST_CAP_STORAGE 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_STORAGE" Include devices with the storage capability .IP Sys::Virt::NodeDevice::LIST_CAP_SYSTEM 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_SYSTEM" Include devices with the system capability .IP Sys::Virt::NodeDevice::LIST_CAP_USB_DEV 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_USB_DEV" Include devices with the USB device capability .IP Sys::Virt::NodeDevice::LIST_CAP_USB_INTERFACE 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_USB_INTERFACE" Include devices with the USB interface capability .IP Sys::Virt::NodeDevice::LIST_CAP_FC_HOST 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_FC_HOST" Include devices with the fibre channel host capability .IP Sys::Virt::NodeDevice::LIST_CAP_VPORTS 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_VPORTS" Include devices with the NPIV vport capability .IP Sys::Virt::NodeDevice::LIST_CAP_SCSI_GENERIC 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_SCSI_GENERIC" Include devices with the SCSI generic capability .IP Sys::Virt::NodeDevice::LIST_CAP_DRM 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_DRM" Include devices with the DRM capability .IP Sys::Virt::NodeDevice::LIST_CAP_MDEV 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_MDEV" Include mediated devices .IP Sys::Virt::NodeDevice::LIST_CAP_MDEV_TYPES 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_MDEV_TYPES" Include devices capable of mediated devices .IP Sys::Virt::NodeDevice::LIST_CAP_CCW_DEV 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_CCW_DEV" Include CCW devices .IP Sys::Virt::NodeDevice::LIST_CAP_CSS_DEV 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_CSS_DEV" Include CSS devices .IP Sys::Virt::NodeDevice::LIST_CAP_VDPA 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_VDPA" Include VDPA devices .IP Sys::Virt::NodeDevice::LIST_CAP_AP_CARD 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_AP_CARD" Include s390 AP card devices .IP Sys::Virt::NodeDevice::LIST_CAP_AP_MATRIX 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_AP_MATRIX" Include s390 AP matrix devices .IP Sys::Virt::NodeDevice::LIST_CAP_AP_QUEUE 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_AP_QUEUE" Include s390 AP queue devices .IP Sys::Virt::NodeDevice::LIST_CAP_VPD 4 .IX Item "Sys::Virt::NodeDevice::LIST_CAP_VPD" Include PCI devices with VPD .IP Sys::Virt::NodeDevice::LIST_ACTIVE 4 .IX Item "Sys::Virt::NodeDevice::LIST_ACTIVE" Include active devices .IP Sys::Virt::NodeDevice::LIST_INACTIVE 4 .IX Item "Sys::Virt::NodeDevice::LIST_INACTIVE" Include inactive devices .IP Sys::Virt::NodeDevice::LIST_PERSISTENT 4 .IX Item "Sys::Virt::NodeDevice::LIST_PERSISTENT" Include persistent devices .IP Sys::Virt::NodeDevice::LIST_TRANSIENT 4 .IX Item "Sys::Virt::NodeDevice::LIST_TRANSIENT" Include transient devices .SS "EVENT ID CONSTANTS" .IX Subsection "EVENT ID CONSTANTS" .IP Sys::Virt::NodeDevice::EVENT_ID_LIFECYCLE 4 .IX Item "Sys::Virt::NodeDevice::EVENT_ID_LIFECYCLE" Node device lifecycle events .IP Sys::Virt::NodeDevice::EVENT_ID_UPDATE 4 .IX Item "Sys::Virt::NodeDevice::EVENT_ID_UPDATE" Node device config update events .SS "LIFECYCLE CHANGE EVENTS" .IX Subsection "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. .IP Sys::Virt::NodeDevice::EVENT_CREATED 4 .IX Item "Sys::Virt::NodeDevice::EVENT_CREATED" Indicates that a device was created .IP Sys::Virt::NodeDevice::EVENT_DELETED 4 .IX Item "Sys::Virt::NodeDevice::EVENT_DELETED" Indicates that a device has been deleted .IP Sys::Virt::NodeDevice::EVENT_DEFINED 4 .IX Item "Sys::Virt::NodeDevice::EVENT_DEFINED" Indicates that a device configuration has been created .IP Sys::Virt::NodeDevice::EVENT_UNDEFINED 4 .IX Item "Sys::Virt::NodeDevice::EVENT_UNDEFINED" Indicates that a device configuration has been deleted .SS "NODE DEVICE CREATION" .IX Subsection "NODE DEVICE CREATION" .IP Sys::Virt::NodeDevice::CREATE_XML_VALIDATE 4 .IX Item "Sys::Virt::NodeDevice::CREATE_XML_VALIDATE" Validate the XML document against schema .SS "NODE DEVICE DEFINE" .IX Subsection "NODE DEVICE DEFINE" .IP Sys::Virt::NodeDevice::DEFINE_XML_VALIDATE 4 .IX Item "Sys::Virt::NodeDevice::DEFINE_XML_VALIDATE" Validate the XML document against schema .SS "NODE DEVICE UPDATE" .IX Subsection "NODE DEVICE UPDATE" .IP Sys::Virt::NodeDevice::UPDATE_AFFECT_CURRENT 4 .IX Item "Sys::Virt::NodeDevice::UPDATE_AFFECT_CURRENT" Affect live if node device is active, config if it's not active .IP Sys::Virt::NodeDevice::UPDATE_AFFECT_LIVE 4 .IX Item "Sys::Virt::NodeDevice::UPDATE_AFFECT_LIVE" Affect live state of node device only .IP Sys::Virt::NodeDevice::UPDATE_AFFECT_CONFIG 4 .IX Item "Sys::Virt::NodeDevice::UPDATE_AFFECT_CONFIG" Affect persistent config only .SS "XML DUMP OPTIONS" .IX Subsection "XML DUMP OPTIONS" The following constants are used to control the information included in the XML configuration dump .IP Sys::Virt::NodeDevice::XML_INACTIVE 4 .IX Item "Sys::Virt::NodeDevice::XML_INACTIVE" Report the persistent inactive configuration for the node device. .SH AUTHORS .IX Header "AUTHORS" Daniel P. Berrange .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (C) 2006\-2009 Red Hat Copyright (C) 2006\-2009 Daniel P. Berrange .SH LICENSE .IX Header "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. .SH "SEE ALSO" .IX Header "SEE ALSO" Sys::Virt, Sys::Virt::Error, \f(CW\*(C`http://libvirt.org\*(C'\fR