1Sys::Virt(3)          User Contributed Perl Documentation         Sys::Virt(3)
2
3
4

NAME

6       Sys::Virt - Represent and manage a libvirt hypervisor connection
7

SYNOPSIS

9         my $conn = Sys::Virt->new(uri => $uri);
10
11         my @domains = $conn->list_domains();
12
13         foreach my $dom (@domains) {
14           print "Domain ", $dom->get_id, " ", $dom->get_name, "\n";
15         }
16

DESCRIPTION

18       The Sys::Virt module provides a Perl XS binding to the libvirt virtual
19       machine management APIs. This allows machines running within arbitrary
20       virtualization containers to be managed with a consistent API.
21

ERROR HANDLING

23       Any operations in the Sys::Virt API which have failure scenarios will
24       result in an instance of the Sys::Virt::Error module being thrown. To
25       catch these errors, simply wrap the method in an eval block:
26
27         eval { my $conn = Sys::Virt->new(uri => $uri); };
28         if ($@) {
29           print STDERR "Unable to open connection to $addr" . $@->message . "\n";
30         }
31
32       For details of the information contained in the error objects, consult
33       the Sys::Virt::Error manual page.
34

METHODS

36       my $conn = Sys::Virt->new(uri => $uri, readonly => $ro, flags =>
37       $flags);
38           Attach to the virtualization host identified by "uri". The "uri"
39           parameter may be omitted, in which case the default connection made
40           will be to the local Xen hypervisor. Some example URIs include:
41
42           xen:///
43               Xen on the local machine
44
45           test:///default
46               Dummy "in memory" driver for test suites
47
48           qemu:///system
49               System-wide driver for QEMU / KVM virtualization
50
51           qemu:///session
52               Per-user driver for QEMU virtualization
53
54           qemu+tls://somehost/system
55               System-wide QEMU driver on "somehost" using TLS security
56
57           xen+tcp://somehost/
58               Xen driver on "somehost" using TCP / SASL security
59
60           For further details consult "http://libvirt.org/uri.html"
61
62           If the optional "readonly" parameter is supplied, then an
63           unprivileged connection to the hypervisor will be attempted. If it
64           is not supplied, then it defaults to making a fully privileged
65           connection to the hypervisor. If the calling application is not
66           running as root, it may be necessary to provide authentication
67           callbacks.
68
69           If the optional "auth" parameter is set to a non-zero value,
70           authentication will be enabled during connection, using the default
71           set of credential gathering callbacks. The default callbacks prompt
72           for credentials on the console, so are not suitable for graphical
73           applications. For such apps a custom implementation should be
74           supplied. The "credlist" parameter should be an array reference
75           listing the set of credential types that will be supported. The
76           credential constants in this module can be used as values in this
77           list. The "callback" parameter should be a subroutine reference
78           containing the code necessary to gather the credentials. When
79           invoked it will be supplied with a single parameter, an array
80           reference of requested credentials. The elements of the array are
81           hash references, with keys "type" giving the type of credential,
82           "prompt" giving a user descriptive user prompt, "challenge" giving
83           name of the credential required. The answer should be collected
84           from the user, and returned by setting the "result" key. This key
85           may already be set with a default result if applicable
86
87           As a simple example returning hardcoded credentials
88
89               my $uri  = "qemu+tcp://192.168.122.1/system";
90               my $username = "test";
91               my $password = "123456";
92
93               my $con = Sys::Virt->new(uri => $uri,
94                                        auth => 1,
95                                        credlist => [
96                                          Sys::Virt::CRED_AUTHNAME,
97                                          Sys::Virt::CRED_PASSPHRASE,
98                                        ],
99                                        callback =>
100                    sub {
101                          my $creds = shift;
102
103                          foreach my $cred (@{$creds}) {
104                             if ($cred->{type} == Sys::Virt::CRED_AUTHNAME) {
105                                 $cred->{result} = $username;
106                             }
107                             if ($cred->{type} == Sys::Virt::CRED_PASSPHRASE) {
108                                 $cred->{result} = $password;
109                             }
110                          }
111                          return 0;
112                    });
113
114           For backwards compatibility with earlier releases, the "address"
115           parameter is accepted as a synonym for the "uri" parameter. The use
116           of "uri" is recommended for all newly written code.
117
118       $conn->set_identity($identity, $flags=0)
119           Change the identity that is used for access control over the
120           connection. Normally the remote daemon will use the identity
121           associated with the UNIX domain socket that the app opens.  Only a
122           privileged client is usually able to override this.  The $identity
123           should be a hash reference whose keys are one of the IDENTITY
124           constants. The $flags parameter is currently unused, and defaults
125           to 0 if omitted.
126
127       my $st = $conn->new_stream($flags)
128           Create a new stream, with the given flags
129
130       my $dom = $conn->create_domain($xml, $flags);
131           Create a new domain based on the XML description passed into the
132           $xml parameter. The returned object is an instance of the
133           Sys::Virt::Domain class. This method is not available with
134           unprivileged connections to the hypervisor. The $flags parameter
135           accepts one of the DOMAIN CREATION constants documented in
136           Sys::Virt::Domain, and defaults to 0 if omitted.
137
138       my $dom = $conn->create_domain_with_files($xml, $fds, $flags);
139           Create a new domain based on the XML description passed into the
140           $xml parameter. The returned object is an instance of the
141           Sys::Virt::Domain class. This method is not available with
142           unprivileged connections to the hypervisor. The $fds parameter is
143           an array of UNIX file descriptors which will be passed to the init
144           process of the container. This is only supported with container
145           based virtualization. The $flags parameter accepts one of the
146           DOMAIN CREATION constants documented in Sys::Virt::Domain, and
147           defaults to 0 if omitted.
148
149       my $dom = $conn->define_domain($xml, $flags=0);
150           Defines, but does not start, a new domain based on the XML
151           description passed into the $xml parameter. The returned object is
152           an instance of the Sys::Virt::Domain class. This method is not
153           available with unprivileged connections to the hypervisor. The
154           defined domain can be later started by calling the "create" method
155           on the returned "Sys::Virt::Domain" object.
156
157       my $net = $conn->create_network($xml);
158           Create a new network based on the XML description passed into the
159           $xml parameter. The returned object is an instance of the
160           Sys::Virt::Network class. This method is not available with
161           unprivileged connections to the hypervisor.
162
163       my $net = $conn->define_network($xml);
164           Defines, but does not start, a new network based on the XML
165           description passed into the $xml parameter. The returned object is
166           an instance of the Sys::Virt::Network class. This method is not
167           available with unprivileged connections to the hypervisor. The
168           defined network can be later started by calling the "create" method
169           on the returned "Sys::Virt::Network" object.
170
171       my $nwfilter = $conn->define_nwfilter($xml);
172           Defines a new network filter based on the XML description passed
173           into the $xml parameter. The returned object is an instance of the
174           Sys::Virt::NWFilter class. This method is not available with
175           unprivileged connections to the hypervisor.
176
177       my $secret = $conn->define_secret($xml);
178           Defines a new secret based on the XML description passed into the
179           $xml parameter. The returned object is an instance of the
180           Sys::Virt::Secret class. This method is not available with
181           unprivileged connections to the hypervisor.
182
183       my $pool = $conn->create_storage_pool($xml);
184           Create a new storage pool based on the XML description passed into
185           the $xml parameter. The returned object is an instance of the
186           Sys::Virt::StoragePool class. This method is not available with
187           unprivileged connections to the hypervisor.
188
189       my $pool = $conn->define_storage_pool($xml);
190           Defines, but does not start, a new storage pol based on the XML
191           description passed into the $xml parameter. The returned object is
192           an instance of the Sys::Virt::StoragePool class. This method is not
193           available with unprivileged connections to the hypervisor. The
194           defined pool can be later started by calling the "create" method on
195           the returned "Sys::Virt::StoragePool" object.
196
197       my $pool = $conn->create_interface($xml);
198           Create a new interface based on the XML description passed into the
199           $xml parameter. The returned object is an instance of the
200           Sys::Virt::Interface class. This method is not available with
201           unprivileged connections to the hypervisor.
202
203       my $binding = $conn->create_nwfilter_binding($xml);
204           Create a new network filter binding based on the XML description
205           passed into the $xml parameter. The returned object is an instance
206           of the Sys::Virt::NWFilterBinding class.
207
208       my $iface = $conn->define_interface($xml);
209           Defines, but does not start, a new interface based on the XML
210           description passed into the $xml parameter. The returned object is
211           an instance of the Sys::Virt::Interface class. This method is not
212           available with unprivileged connections to the hypervisor. The
213           defined interface can be later started by calling the "create"
214           method on the returned "Sys::Virt::Interface" object.
215
216       my $dev = $conn->create_node_device($xml, $flags=0);
217           Create a new virtual node device based on the XML description
218           passed into the $xml parameter. The $flags parameter is currently
219           unused and defaults to zero. The returned object is an instance of
220           the Sys::Virt::NodeDevice class. This method is not available with
221           unprivileged connections to the hypervisor.
222
223       my $dev = $conn->define_node_device($xml, $flags=0);
224           Defines, but does not start, a new node dev based on the XML
225           description passed into the $xml parameter. The $flags parameter is
226           currently unused and defaults to zero. The returned object is an
227           instance of the Sys::Virt::NodeDevice class. This method is not
228           available with unprivileged connections to the hypervisor. The
229           defined node device can be later started by calling the "create"
230           method on the returned "Sys::Virt::NodeDevice" object.
231
232       my @doms = $conn->list_domains()
233           Return a list of all running domains currently known to the
234           hypervisor. The elements in the returned list are instances of the
235           Sys::Virt::Domain class. This method requires O(n) RPC calls, so
236           the "list_all_domains" method is recommended as a more efficient
237           alternative.
238
239       my $nids = $conn->num_of_domains()
240           Return the number of running domains known to the hypervisor. This
241           can be used as the "maxids" parameter to "list_domain_ids".
242
243       my @domIDs = $conn->list_domain_ids($maxids)
244           Return a list of all domain IDs currently known to the hypervisor.
245           The IDs can be used with the "get_domain_by_id" method.
246
247       my @doms = $conn->list_defined_domains()
248           Return a list of all domains defined, but not currently running, on
249           the hypervisor. The elements in the returned list are instances of
250           the Sys::Virt::Domain class. This method requires O(n) RPC calls,
251           so the "list_all_domains" method is recommended as a more efficient
252           alternative.
253
254       my $ndoms = $conn->num_of_defined_domains()
255           Return the number of running domains known to the hypervisor. This
256           can be used as the "maxnames" parameter to
257           "list_defined_domain_names".
258
259       my @names = $conn->list_defined_domain_names($maxnames)
260           Return a list of names of all domains defined, but not currently
261           running, on the hypervisor. The names can be used with the
262           "get_domain_by_name" method.
263
264       my @doms = $conn->list_all_domains($flags)
265           Return a list of all domains currently known to the hypervisor,
266           whether running or shutoff. The elements in the returned list are
267           instances of the Sys::Virt::Domain class. The $flags parameter can
268           be used to filter the list of returned domains.
269
270       my @nets = $conn->list_networks()
271           Return a list of all networks currently known to the hypervisor.
272           The elements in the returned list are instances of the
273           Sys::Virt::Network class.  This method requires O(n) RPC calls, so
274           the "list_all_networks" method is recommended as a more efficient
275           alternative.
276
277       my $nnets = $conn->num_of_networks()
278           Return the number of running networks known to the hypervisor. This
279           can be used as the "maxids" parameter to "list_network_ids".
280
281       my @netNames = $conn->list_network_names($maxnames)
282           Return a list of all network names currently known to the
283           hypervisor. The names can be used with the "get_network_by_name"
284           method.
285
286       my @nets = $conn->list_defined_networks()
287           Return a list of all networks defined, but not currently running,
288           on the hypervisor. The elements in the returned list are instances
289           of the Sys::Virt::Network class. This method requires O(n) RPC
290           calls, so the "list_all_networks" method is recommended as a more
291           efficient alternative.
292
293       my $nnets = $conn->num_of_defined_networks()
294           Return the number of running networks known to the host. This can
295           be used as the "maxnames" parameter to
296           "list_defined_network_names".
297
298       my @names = $conn->list_defined_network_names($maxnames)
299           Return a list of names of all networks defined, but not currently
300           running, on the host. The names can be used with the
301           "get_network_by_name" method.
302
303       my @nets = $conn->list_all_networks($flags)
304           Return a list of all networks currently known to the hypervisor,
305           whether running or shutoff. The elements in the returned list are
306           instances of the Sys::Virt::Network class. The $flags parameter can
307           be used to filter the list of returned networks.
308
309       my @pools = $conn->list_storage_pools()
310           Return a list of all storage pools currently known to the host. The
311           elements in the returned list are instances of the
312           Sys::Virt::StoragePool class.  This method requires O(n) RPC calls,
313           so the "list_all_storage_pools" method is recommended as a more
314           efficient alternative.
315
316       my $npools = $conn->num_of_storage_pools()
317           Return the number of running storage pools known to the hypervisor.
318           This can be used as the "maxids" parameter to
319           "list_storage_pool_names".
320
321       my @poolNames = $conn->list_storage_pool_names($maxnames)
322           Return a list of all storage pool names currently known to the
323           hypervisor. The IDs can be used with the "get_network_by_id"
324           method.
325
326       my @pools = $conn->list_defined_storage_pools()
327           Return a list of all storage pools defined, but not currently
328           running, on the host. The elements in the returned list are
329           instances of the Sys::Virt::StoragePool class. This method requires
330           O(n) RPC calls, so the "list_all_storage_pools" method is
331           recommended as a more efficient alternative.
332
333       my $npools = $conn->num_of_defined_storage_pools()
334           Return the number of running networks known to the host. This can
335           be used as the "maxnames" parameter to
336           "list_defined_storage_pool_names".
337
338       my @names = $conn->list_defined_storage_pool_names($maxnames)
339           Return a list of names of all storage pools defined, but not
340           currently running, on the host. The names can be used with the
341           "get_storage_pool_by_name" method.
342
343       my @pools = $conn->list_all_storage_pools($flags)
344           Return a list of all storage pools currently known to the
345           hypervisor, whether running or shutoff. The elements in the
346           returned list are instances of the Sys::Virt::StoragePool class.
347           The $flags parameter can be used to filter the list of returned
348           pools.
349
350       my @devs = $conn->list_node_devices($capability)
351           Return a list of all devices currently known to the host OS. The
352           elements in the returned list are instances of the
353           Sys::Virt::NodeDevice class.  The optional "capability" parameter
354           allows the list to be restricted to only devices with a particular
355           capability type. This method requires O(n) RPC calls, so the
356           "list_all_node_devices" method is recommended as a more efficient
357           alternative.
358
359       my $ndevs = $conn->num_of_node_devices($capability[, $flags])
360           Return the number of host devices known to the hypervisor. This can
361           be used as the "maxids" parameter to "list_node_device_names".  The
362           "capability" parameter allows the list to be restricted to only
363           devices with a particular capability type, and should be left as
364           "undef" if the full list is required. The optional <flags>
365           parameter is currently unused and defaults to 0 if omitted.
366
367       my @devNames = $conn->list_node_device_names($capability, $maxnames[,
368       $flags])
369           Return a list of all host device names currently known to the
370           hypervisor. The names can be used with the
371           "get_node_device_by_name" method.  The "capability" parameter
372           allows the list to be restricted to only devices with a particular
373           capability type, and should be left as "undef" if the full list is
374           required. The optional <flags> parameter is currently unused and
375           defaults to 0 if omitted.
376
377       my @devs = $conn->list_all_node_devices($flags)
378           Return a list of all node devices currently known to the
379           hypervisor. The elements in the returned list are instances of the
380           Sys::Virt::NodeDevice class. The $flags parameter can be used to
381           filter the list of returned devices.
382
383       my @ifaces = $conn->list_interfaces()
384           Return a list of all network interfaces currently known to the
385           hypervisor. The elements in the returned list are instances of the
386           Sys::Virt::Interface class.  This method requires O(n) RPC calls,
387           so the "list_all_interfaces" method is recommended as a more
388           efficient alternative.
389
390       my $nifaces = $conn->num_of_interfaces()
391           Return the number of running interfaces known to the hypervisor.
392           This can be used as the "maxnames" parameter to
393           "list_interface_names".
394
395       my @names = $conn->list_interface_names($maxnames)
396           Return a list of all interface names currently known to the
397           hypervisor. The names can be used with the "get_interface_by_name"
398           method.
399
400       my @ifaces = $conn->list_defined_interfaces()
401           Return a list of all network interfaces currently known to the
402           hypervisor. The elements in the returned list are instances of the
403           Sys::Virt::Interface class.  This method requires O(n) RPC calls,
404           so the "list_all_interfaces" method is recommended as a more
405           efficient alternative.
406
407       my $nifaces = $conn->num_of_defined_interfaces()
408           Return the number of inactive interfaces known to the hypervisor.
409           This can be used as the "maxnames" parameter to
410           "list_defined_interface_names".
411
412       my @names = $conn->list_defined_interface_names($maxnames)
413           Return a list of inactive interface names currently known to the
414           hypervisor. The names can be used with the "get_interface_by_name"
415           method.
416
417       my @ifaces = $conn->list_all_interfaces($flags)
418           Return a list of all interfaces currently known to the hypervisor,
419           whether running or shutoff. The elements in the returned list are
420           instances of the Sys::Virt::Interface class. The $flags parameter
421           can be used to filter the list of returned interfaces.
422
423       my @ifaces = $conn->list_secrets()
424           Return a list of all secrets currently known to the hypervisor. The
425           elements in the returned list are instances of the
426           Sys::Virt::Secret class.  This method requires O(n) RPC calls, so
427           the "list_all_secrets" method is recommended as a more efficient
428           alternative.
429
430       my $nuuids = $conn->num_of_secrets()
431           Return the number of secrets known to the hypervisor. This can be
432           used as the "maxuuids" parameter to "list_secrets".
433
434       my @uuids = $conn->list_secret_uuids($maxuuids)
435           Return a list of all secret uuids currently known to the
436           hypervisor. The uuids can be used with the "get_secret_by_uuid"
437           method.
438
439       my @secrets = $conn->list_all_secrets($flags)
440           Return a list of all secrets currently known to the hypervisor. The
441           elements in the returned list are instances of the
442           Sys::Virt::Network class.  The $flags parameter can be used to
443           filter the list of returned secrets.
444
445       my @nwfilters = $conn->list_nwfilters()
446           Return a list of all nwfilters currently known to the hypervisor.
447           The elements in the returned list are instances of the
448           Sys::Virt::NWFilter class.  This method requires O(n) RPC calls, so
449           the "list_all_nwfilters" method is recommended as a more efficient
450           alternative.
451
452       my $nnwfilters = $conn->num_of_nwfilters()
453           Return the number of running nwfilters known to the hypervisor.
454           This can be used as the "maxids" parameter to
455           "list_nwfilter_names".
456
457       my @filterNames = $conn->list_nwfilter_names($maxnames)
458           Return a list of all nwfilter names currently known to the
459           hypervisor. The names can be used with the "get_nwfilter_by_name"
460           method.
461
462       my @nwfilters = $conn->list_all_nwfilters($flags)
463           Return a list of all nwfilters currently known to the hypervisor.
464           The elements in the returned list are instances of the
465           Sys::Virt::NWFilter class.  The $flags parameter is currently
466           unused and defaults to zero.
467
468       my @bindings = $conn->list_all_nwfilter_bindings($flags)
469           Return a list of all nwfilter bindings currently known to the
470           hypervisor. The elements in the returned list are instances of the
471           Sys::Virt::NWFilterBinding class. The $flags parameter is currently
472           unused and defaults to zero.
473
474       $conn->define_save_image_xml($file, $dxml, $flags=0)
475           Update the XML associated with a virtual machine's save image. The
476           $file parameter is the fully qualified path to the save image XML,
477           while $dxml is the new XML document to write. The $flags parameter
478           is currently unused and defaults to zero.
479
480       $xml = $conn->get_save_image_xml_description($file, $flags=1)
481           Retrieve the current XML configuration associated with the virtual
482           machine's save image identified by $file. The $flags parameter
483           accepts the same constants as
484           "Sys::Virt::Domain::managed_save_get_xml_description".
485
486       my $dom = $conn->get_domain_by_name($name)
487           Return the domain with a name of $name. The returned object is an
488           instance of the Sys::Virt::Domain class.
489
490       my $dom = $conn->get_domain_by_id($id)
491           Return the domain with a local id of $id. The returned object is an
492           instance of the Sys::Virt::Domain class.
493
494       my $dom = $conn->get_domain_by_uuid($uuid)
495           Return the domain with a globally unique id of $uuid. The returned
496           object is an instance of the Sys::Virt::Domain class.
497
498       my $net = $conn->get_network_by_name($name)
499           Return the network with a name of $name. The returned object is an
500           instance of the Sys::Virt::Network class.
501
502       my $net = $conn->get_network_by_uuid($uuid)
503           Return the network with a globally unique id of $uuid. The returned
504           object is an instance of the Sys::Virt::Network class.
505
506       my $pool = $conn->get_storage_pool_by_name($name)
507           Return the storage pool with a name of $name. The returned object
508           is an instance of the Sys::Virt::StoragePool class.
509
510       my $pool = $conn->get_storage_pool_by_uuid($uuid)
511           Return the storage pool with a globally unique id of $uuid. The
512           returned object is an instance of the Sys::Virt::StoragePool class.
513
514       my $pool = $conn->get_storage_pool_by_volume($vol)
515           Return the storage pool with a storage volume $vol. The $vol
516           parameter must be an instance of the Sys::Virt::StorageVol class.
517           The returned object is an instance of the Sys::Virt::StoragePool
518           class.
519
520       my $pool = $conn->get_storage_pool_by_target_path($path)
521           Return the storage pool with a target path of $path. The returned
522           object is an instance of the Sys::Virt::StoragePool class.
523
524       my $vol = $conn->get_storage_volume_by_path($path)
525           Return the storage volume with a location of $path. The returned
526           object is an instance of the Sys::Virt::StorageVol class.
527
528       my $vol = $conn->get_storage_volume_by_key($key)
529           Return the storage volume with a globally unique id of $key. The
530           returned object is an instance of the Sys::Virt::StorageVol class.
531
532       my $dev = $conn->get_node_device_by_name($name)
533           Return the node device with a name of $name. The returned object is
534           an instance of the Sys::Virt::NodeDevice class.
535
536       my $dev = $conn->get_node_device_scsihost_by_wwn($wwnn, $wwpn,
537       $flags=0)
538           Return the node device which is a SCSI host identified by $wwnn and
539           $wwpn.  The $flags parameter is unused and defaults to zero.  The
540           returned object is an instance of the Sys::Virt::NodeDevice class.
541
542       my $iface = $conn->get_interface_by_name($name)
543           Return the interface with a name of $name. The returned object is
544           an instance of the Sys::Virt::Interface class.
545
546       my $iface = $conn->get_interface_by_mac($mac)
547           Return the interface with a MAC address of $mac. The returned
548           object is an instance of the Sys::Virt::Interface class.
549
550       my $sec = $conn->get_secret_by_uuid($uuid)
551           Return the secret with a globally unique id of $uuid. The returned
552           object is an instance of the Sys::Virt::Secret class.
553
554       my $sec = $conn->get_secret_by_usage($usageType, $usageID)
555           Return the secret with a usage type of $usageType, identified by
556           $usageID. The returned object is an instance of the
557           Sys::Virt::Secret class.
558
559       my $nwfilter = $conn->get_nwfilter_by_name($name)
560           Return the domain with a name of $name. The returned object is an
561           instance of the Sys::Virt::NWFilter class.
562
563       my $nwfilter = $conn->get_nwfilter_by_uuid($uuid)
564           Return the nwfilter with a globally unique id of $uuid. The
565           returned object is an instance of the Sys::Virt::NWFilter class.
566
567       my $binding = $conn->get_nwfilter_binding_by_port_dev($name)
568           Return the network filter binding for the port device $name. The
569           returned object is an instance of the Sys::Virt::NWFilterBinding
570           class.
571
572       my $xml = $conn->find_storage_pool_sources($type, $srcspec[, $flags])
573           Probe for available storage pool sources for the pool of type
574           $type.  The $srcspec parameter can be "undef", or a parameter to
575           refine the discovery process, for example a server hostname for NFS
576           discovery. The $flags parameter is optional, and if omitted
577           defaults to zero. The returned scalar is an XML document describing
578           the discovered storage pool sources.
579
580       my @stats = $conn->get_all_domain_stats($stats, \@doms=undef,
581       $flags=0);
582           Get a list of all statistics for domains known to the hypervisor.
583           The $stats parameter controls which data fields to return and
584           should be a combination of the DOMAIN STATS FIELD CONSTANTS.
585
586           The optional @doms parameter is a list of Sys::Virt::Domain objects
587           to return stats for. If this is undefined, then all domains will be
588           returned. The $flags method can be used to filter the list of
589           returned domains.
590
591           The return data for the method is a list, one element for each
592           domain.  The element will be a hash with two keys, "dom" pointing
593           to an instance of "Sys::Virt::Domain" and "data" pointing to
594           another hash reference containing the actual statistics.
595
596       $conn->interface_change_begin($flags)
597           Begin a transaction for changing the configuration of one or more
598           network interfaces
599
600       $conn->interface_change_commit($flags)
601           Complete a transaction for changing the configuration of one or
602           more network interfaces
603
604       $conn->interface_change_rollback($flags)
605           Abort a transaction for changing the configuration of one or more
606           network interfaces
607
608       $conn->restore_domain($savefile)
609           Recreate a domain from the saved state file given in the $savefile
610           parameter.
611
612       $conn->get_max_vcpus($domtype)
613           Return the maximum number of vcpus that can be configured for a
614           domain of type $domtype
615
616       my $hostname = $conn->get_hostname()
617           Return the name of the host with which this connection is
618           associated.
619
620       my $uri = $conn->get_uri()
621           Return the URI associated with the open connection. This may be
622           different from the URI used when initially connecting to libvirt,
623           when 'auto-probing' or drivers occurrs.
624
625       my $xml = $conn->get_sysinfo()
626           Return an XML documenting representing the host system information,
627           typically obtained from SMBIOS tables.
628
629       my $type = $conn->get_type()
630           Return the type of virtualization backend accessed by this
631           hypervisor object. Currently the only supported type is "Xen".
632
633       my $xml = $conn->domain_xml_from_native($format, $config);
634           Convert the native hypervisor configuration $config which is in
635           format <$format> into libvirrt domain XML. Valid values of $format
636           vary between hypervisor drivers.
637
638       my $config = $conn->domain_xml_to_native($format, $xml)
639           Convert the libvirt domain XML configuration $xml to a native
640           hypervisor configuration in format $format
641
642       my $ver = $conn->get_version()
643           Return the complete version number as a string encoded in the
644           formula "(major * 1000000) + (minor * 1000) + micro".
645
646       my $ver = $conn->get_major_version
647           Return the major version number of the libvirt library.
648
649       my $ver = $conn->get_minor_version
650           Return the minor version number of the libvirt library.
651
652       my $ver = $conn->get_micro_version
653           Return the micro version number of the libvirt library.
654
655       my $ver = $conn->get_library_version
656           Return the version number of the API associated with the active
657           connection. This differs from "get_version" in that if the
658           connection is to a remote libvirtd daemon, it will return the API
659           version of the remote libvirt, rather than the local client.
660
661       $conn->is_secure()
662           Returns a true value if the current connection is secure against
663           network interception. This implies either use of UNIX sockets, or
664           encryption with a TCP stream.
665
666       $conn->is_encrypted()
667           Returns a true value if the current connection data stream is
668           encrypted.
669
670       $conn->is_alive()
671           Returns a true value if the connection is alive, as determined by
672           keep-alive packets or other recent RPC traffic.
673
674       $conn->set_keep_alive($interval, $count)
675           Change the operation of the keep alive protocol to send $count
676           packets spaced $interval seconds apart before considering the
677           connection dead.
678
679       my $info = $con->get_node_info()
680           Returns a hash reference summarising the capabilities of the host
681           node. The elements of the hash are as follows:
682
683           memory
684               The amount of physical memory in the host
685
686           model
687               The model of the CPU, eg x86_64
688
689           cpus
690               The total number of logical CPUs.
691
692           mhz The peak MHZ of the CPU
693
694           nodes
695               The number of NUMA cells
696
697           sockets
698               The number of CPU sockets
699
700           cores
701               The number of cores per socket
702
703           threads
704               The number of threads per core
705
706           NB, more accurate information about the total number of CPUs and
707           those online can be obtained using the "get_node_cpu_map" method.
708
709       my ($totcpus, $onlinemap, $totonline) = $con->get_node_cpu_map();
710           Returns an array containing information about the CPUs available on
711           the host. The first element, "totcpus", specifies the total number
712           of CPUs available to the host regardles of their online stat. The
713           second element, "onlinemap", provides a bitmap detailing which CPUs
714           are currently online. The third element, "totonline", specifies the
715           total number of online CPUs. The values in the bitmap can be
716           extracted using the "unpack" method as follows:
717
718             my @onlinemap = split(//, unpack("b*", $onlinemap));
719
720       my $info = $con->get_node_cpu_stats($cpuNum=-1, $flags=0)
721           Returns a hash reference providing information about the host CPU
722           statistics. If <$cpuNum> is omitted, it defaults to
723           "Sys::Virt::NODE_CPU_STATS_ALL_CPUS" which causes it to return
724           cumulative information for all CPUs in the host. If $cpuNum is zero
725           or larger, it returns information just for the specified number.
726           The $flags parameter is currently unused and defaults to zero. The
727           fields in the returned hash reference are
728
729           kernel
730               The time spent in kernelspace
731
732           user
733               The time spent in userspace
734
735           idle
736               The idle time
737
738           iowait
739               The I/O wait time
740
741           utilization
742               The overall percentage utilization.
743
744       my $info = $con->get_node_memory_stats($cellNum=-1, $flags=0)
745           Returns a hash reference providing information about the host
746           memory statistics. If <$cellNum> is omitted, it defaults to
747           "Sys::Virt::NODE_MEMORY_STATS_ALL_CELLS" which causes it to return
748           cumulative information for all NUMA cells in the host. If $cellNum
749           is zero or larger, it returns information just for the specified
750           number. The $flags parameter is currently unused and defaults to
751           zero. The fields in the returned hash reference are
752
753           total
754               The total memory
755
756           free
757               The free memory
758
759           buffers
760               The memory consumed by buffers
761
762           cached
763               The memory consumed for cache
764
765       my $params = $conn->get_node_memory_parameters($flags=0)
766           Return a hash reference containing the set of memory tunable
767           parameters for the node. The keys in the hash are one of the
768           constants MEMORY PARAMETERS described later. The $flags parameter
769           is currently unused, and defaults to 0 if omitted.
770
771       $conn->set_node_memory_parameters($params, $flags=0)
772           Update the memory tunable parameters for the node. The $params
773           should be a hash reference whose keys are one of the MEMORY
774           PARAMETERS constants. The $flags parameter is currently unused, and
775           defaults to 0 if omitted.
776
777       $info = $conn->get_node_sev_info($flags=0)
778           Get the AMD SEV information for the host. $flags is currently
779           unused and defaults to 0 if omitted. The returned hash contains the
780           following keys:
781
782           Sys::Virt::SEV_CBITPOS
783               The CBit position
784
785           Sys::Virt::SEV_CERT_CHAIN
786               The certificate chain
787
788           Sys::Virt::SEV_PDH
789               Platform diffie-hellman key
790
791           Sys::Virt::SEV_REDUCED_PHYS_BITS
792               The number of physical address bits used by SEV
793
794       $conn->node_suspend_for_duration($target, $duration, $flags=0)
795           Suspend the the host, using mode $target which is one of the NODE
796           SUSPEND constants listed later. The $duration parameter controls
797           how long the node is suspended for before waking up.
798
799       $conn->domain_event_register($callback)
800           Register a callback to received notifications of domain state
801           change events. Only a single callback can be registered with each
802           connection instance. The callback will be invoked with four
803           parameters, an instance of "Sys::Virt" for the connection, an
804           instance of "Sys::Virt::Domain" for the domain changing state, and
805           a "event" and "detail" arguments, corresponding to the event
806           constants defined in the "Sys::Virt::Domain" module. Before
807           discarding the connection object, the callback must be
808           deregistered, otherwise the connection object memory will never be
809           released in garbage collection.
810
811       $conn->domain_event_deregister()
812           Unregister a callback, allowing the connection object to be garbage
813           collected.
814
815       $callback = $conn->domain_event_register_any($dom, $eventID, $callback)
816           Register a callback to received notifications of domain events.
817           The $dom parameter can be "undef" to request events on all known
818           domains, or a specific "Sys::Virt::Domain" object to filter events.
819           The $eventID parameter is one of the EVENT ID constants described
820           later in this document. The $callback is a subroutine reference
821           that will receive the events.
822
823           All callbacks receive a "Sys::Virt" connection as the first
824           parameter and a "Sys::Virt::Domain" object indicating the domain on
825           which the event occurred as the second parameter. Subsequent
826           parameters vary according to the event type
827
828           EVENT_ID_LIFECYCLE
829               Extra "event" and "detail" parameters defining the lifecycle
830               transition that occurred.
831
832           EVENT_ID_REBOOT
833               No extra parameters
834
835           EVENT_ID_RTC_CHANGE
836               The "utcoffset" gives the offset from UTC in seconds
837
838           EVENT_ID_WATCHDOG
839               The "action" defines the action that is taken as a result of
840               the watchdog triggering. One of the WATCHDOG constants
841               described later
842
843           EVENT_ID_IO_ERROR
844               The "srcPath" is the file on the host which had the error.  The
845               "devAlias" is the unique device alias from the guest
846               configuration associated with "srcPath". The "action" is the
847               action taken as a result of the error, one of the IO ERROR
848               constants described later
849
850           EVENT_ID_GRAPHICS
851               The "phase" is the stage of the connection, one of the GRAPHICS
852               PHASE constants described later. The "local" and "remote"
853               parameters follow with the details of the local and remote
854               network addresses. The "authScheme" describes how the user was
855               authenticated (if at all). Finally "identities" is an array ref
856               containing authenticated identities for the user, if any.
857
858           The return value is a unique callback ID that must be used when
859           unregistering the event.
860
861       $conn->domain_event_deregister_any($callbackID)
862           Unregister a callback, associated with the $callbackID previously
863           obtained from "domain_event_register_any".
864
865       $callback = $conn->network_event_register_any($net, $eventID,
866       $callback)
867           Register a callback to received notifications of network events.
868           The $net parameter can be "undef" to request events on all known
869           networks, or a specific "Sys::Virt::Network" object to filter
870           events. The $eventID parameter is one of the EVENT ID constants
871           described later in this document. The $callback is a subroutine
872           reference that will receive the events.
873
874           All callbacks receive a "Sys::Virt" connection as the first
875           parameter and a "Sys::Virt::Network" object indicating the network
876           on which the event occurred as the second parameter. Subsequent
877           parameters vary according to the event type
878
879           EVENT_ID_LIFECYCLE
880               Extra "event" and "detail" parameters defining the lifecycle
881               transition that occurred.
882
883           The return value is a unique callback ID that must be used when
884           unregistering the event.
885
886       $conn->network_event_deregister_any($callbackID)
887           Unregister a callback, associated with the $callbackID previously
888           obtained from "network_event_register_any".
889
890       $callback = $conn->storage_pool_event_register_any($pool, $eventID,
891       $callback)
892           Register a callback to received notifications of storage pool
893           events.  The $pool parameter can be "undef" to request events on
894           all known storage pools, or a specific "Sys::Virt::StoragePool"
895           object to filter events. The $eventID parameter is one of the EVENT
896           ID constants described later in this document. The $callback is a
897           subroutine reference that will receive the events.
898
899           All callbacks receive a "Sys::Virt" connection as the first
900           parameter and a "Sys::Virt::StoragePool" object indicating the
901           storage pool on which the event occurred as the second parameter.
902           Subsequent parameters vary according to the event type
903
904           EVENT_ID_LIFECYCLE
905               Extra "event" and "detail" parameters defining the lifecycle
906               transition that occurred.
907
908           EVENT_ID_REFRESH
909               No extra parameters.
910
911           The return value is a unique callback ID that must be used when
912           unregistering the event.
913
914       $conn->storage_pool_event_deregister_any($callbackID)
915           Unregister a callback, associated with the $callbackID previously
916           obtained from "storage_pool_event_register_any".
917
918       $callback = $conn->node_device_event_register_any($dev, $eventID,
919       $callback)
920           Register a callback to received notifications of node device
921           events.  The $dev parameter can be "undef" to request events on all
922           known node devices, or a specific "Sys::Virt::NodeDevice" object to
923           filter events. The $eventID parameter is one of the EVENT ID
924           constants described later in this document. The $callback is a
925           subroutine reference that will receive the events.
926
927           All callbacks receive a "Sys::Virt" connection as the first
928           parameter and a "Sys::Virt::NodeDevice" object indicating the node
929           device on which the event occurred as the second parameter.
930           Subsequent parameters vary according to the event type
931
932           EVENT_ID_LIFECYCLE
933               Extra "event" and "detail" parameters defining the lifecycle
934               transition that occurred.
935
936           The return value is a unique callback ID that must be used when
937           unregistering the event.
938
939       $conn->node_device_event_deregister_any($callbackID)
940           Unregister a callback, associated with the $callbackID previously
941           obtained from "node_device_event_register_any".
942
943       $callback = $conn->secret_event_register_any($secret, $eventID,
944       $callback)
945           Register a callback to received notifications of secret events.
946           The $secret parameter can be "undef" to request events on all known
947           secrets, or a specific "Sys::Virt::Secret" object to filter events.
948           The $eventID parameter is one of the EVENT ID constants described
949           later in this document. The $callback is a subroutine reference
950           that will receive the events.
951
952           All callbacks receive a "Sys::Virt" connection as the first
953           parameter and a "Sys::Virt::Secret" object indicating the secret on
954           which the event occurred as the second parameter. Subsequent
955           parameters vary according to the event type
956
957           EVENT_ID_LIFECYCLE
958               Extra "event" and "detail" parameters defining the lifecycle
959               transition that occurred.
960
961           EVENT_ID_VALUE_CHANGED
962               No extra parameters.
963
964           The return value is a unique callback ID that must be used when
965           unregistering the event.
966
967       $conn->secret_event_deregister_any($callbackID)
968           Unregister a callback, associated with the $callbackID previously
969           obtained from "secret_event_register_any".
970
971       $conn->register_close_callback($coderef);
972           Register a callback to be invoked when the connection is closed.
973           The callback will be invoked with two parameters, the $conn it was
974           registered against, and the reason for the close event.  The reason
975           value will be one of the "CLOSE REASON CONSTANTS" listed later in
976           this document.
977
978       $conn->unregister_close_callback();
979           Remove the previously registered close callback.
980
981       my $xml = $con->baseline_cpu(\@xml, $flags=0)
982           Given an array ref whose elements are XML documents describing host
983           CPUs, compute the baseline CPU model that is operable across all
984           hosts. The XML for the baseline CPU model is returned. The optional
985           $flags parameter can take one of
986
987           Sys::Virt::BASELINE_CPU_EXPAND_FEATURES
988               Expand the CPU definition to list all feature flags, even those
989               implied by the model name.
990
991           Sys::Virt::BASELINE_CPU_MIGRATABLE
992               Only include features which can be live migrated.
993
994       my $xml = $con->baseline_hypervisor_cpu($emulator, $arch, $machine,
995       $virttype, \@xml, $flags=0)
996           Given an array ref whose elements are XML documents describing host
997           CPUs, compute the baseline CPU model that is operable across all
998           hosts. The XML for the baseline CPU model is returned. Either
999           $emulator or $arch must be a valid string referring to an emulator
1000           binary or an architecture name respectively. The $machine parameter
1001           is an optional name of a guest machine, and $virttype is an
1002           optional name of the virtualization type. The optional $flags
1003           parameter accepts the same values as "baseline_cpu".
1004
1005       @names = $con->get_cpu_model_names($arch, $flags=0)
1006           Get a list of valid CPU models names for the architecture given by
1007           $arch. The $arch value should be one of the architectures listed in
1008           the capabilities XML document.  The $flags parameter is currently
1009           unused and defaults to 0.
1010
1011       my $info = $con->get_node_security_model()
1012           Returns a hash reference summarising the security model of the host
1013           node. There are two keys in the hash, "model" specifying the name
1014           of the security model (eg 'selinux') and "doi" specifying the
1015           'domain of interpretation' for security labels.
1016
1017       my $xml = $con->get_capabilities();
1018           Returns an XML document describing the hypervisor capabilities
1019
1020       my $xml = $con->get_domain_capabilities($emulator, $arch, $machine,
1021       $virttype, flags=0);
1022           Returns an XML document describing the capabilities of the
1023           requested guest configuration. Either $emulator or $arch must be a
1024           valid string referring to an emulator binary or an architecture
1025           name respectively. The $machine parameter is an optional name of a
1026           guest machine, and $virttype is an optional name of the
1027           virtualization type. $flags is unused and defaults to zero.
1028
1029       my $xml = $con->get_storage_pool_capabilities($flags=0);
1030           Returns an XML document describing the storage pool driver
1031           capabilities (e.g. which storage pool types are supported and so
1032           on). $flags is currently unused and defaults to zero.
1033
1034       my $result = $con->compare_cpu($xml, $flags=0);
1035           Checks whether the CPU definition in $xml is compatible with the
1036           current hypervisor connection. This can be used to determine
1037           whether it is safe to migrate a guest to this host. The returned
1038           result is one of the constants listed later The optional $flags
1039           parameter can take one of the following constants
1040
1041           Sys::Virt::COMPARE_CPU_FAIL_INCOMPATIBLE
1042               Raise a fatal error if the CPUs are not compatible, instead of
1043               just returning a special error code.
1044
1045           Sys::Virt::COMPARE_CPU_VALIDATE_XML
1046               Validate input XML document against the RNG schema.
1047
1048       my $result = $con->compare_hypervisor_cpu($emulator, $arch, $machine,
1049       $virttype, $xml, $flags=0);
1050           Checks whether the CPU definition in $xml is compatible with the
1051           current hypervisor connection. This can be used to determine
1052           whether it is safe to migrate a guest to this host. Either
1053           $emulator or $arch must be a valid string referring to an emulator
1054           binary or an architecture name respectively. The $machine parameter
1055           is an optional name of a guest machine, and $virttype is an
1056           optional name of the virtualization type. The returned result is
1057           one of the constants listed later The optional $flags parameter can
1058           take the same values as the "compare_cpu" method.
1059
1060       $mem = $con->get_node_free_memory();
1061           Returns the current free memory on the host
1062
1063       @mem = $con->get_node_cells_free_memory($start, $end);
1064           Returns the free memory on each NUMA cell between $start and $end.
1065
1066       @pages = $con->get_node_free_pages(\@pagesizes, $start, $end);
1067           Returns information about the number of pages free on each NUMA
1068           cell between $start and $end inclusive. The @pagesizes parameter
1069           should be an arrayref specifying which pages sizes information
1070           should be returned for. Information about supported page sizes is
1071           available in the capabilities XML. The returned array has an
1072           element for each NUMA cell requested. The elements are hash
1073           references with two keys, 'cell' specifies the NUMA cell number and
1074           'pages' specifies the free page information for that cell. The
1075           'pages' value is another hash reference where the keys are the page
1076           sizes and the values are the free count for that size.
1077
1078       $con->node_alloc_pages(\@pages, $start, $end, $flags=0)
1079           Allocate further huge pages for the reserved dev. The <\@pages>
1080           parameter is an array reference with one entry per page size to
1081           allocate for. Each entry is a further array reference where the
1082           first element is the page size and the second element is the page
1083           count. The same number of pages will be allocated on each NUMA node
1084           in the range $start to $end inclusive. The $flags parameter accepts
1085           two contants
1086
1087           Sys::Virt::NODE_ALLOC_PAGES_ADD
1088               The requested number of pages will be added to the existing
1089               huge page reservation.
1090
1091           Sys::Virt::NODE_ALLOC_PAGES_SET
1092               The huge page reservation will be set to exactly the requested
1093               number
1094

CONSTANTS

1096       The following sets of constants are useful when dealing with APIs in
1097       this package
1098
1099   CONNECTION
1100       When opening a connection the following constants can be used:
1101
1102       Sys::Virt::CONNECT_RO
1103           Request a read-only connection
1104
1105       Sys::Virt::CONNECT_NO_ALIASES
1106           Prevent the resolution of URI aliases
1107
1108   CREDENTIAL TYPES
1109       When providing authentication callbacks, the following constants
1110       indicate the type of credential being requested
1111
1112       Sys::Virt::CRED_AUTHNAME
1113           Identity to act as
1114
1115       Sys::Virt::CRED_USERNAME
1116           Identity to authorize as
1117
1118       Sys::Virt::CRED_CNONCE
1119           Client supplies a nonce
1120
1121       Sys::Virt::CRED_REALM
1122           Authentication realm
1123
1124       Sys::Virt::CRED_ECHOPROMPT
1125           Challenge response non-secret
1126
1127       Sys::Virt::CRED_NOECHOPROMPT
1128           Challenge response secret
1129
1130       Sys::Virt::CRED_PASSPHRASE
1131           Passphrase secret
1132
1133       Sys::Virt::CRED_LANGUAGE
1134           RFC 1766 language code
1135
1136       Sys::Virt::CRED_EXTERNAL
1137           Externally provided credential
1138
1139   IDENTITY CONSTANTS
1140       The following constants are useful to change the connection identity
1141
1142       Sys::Virt::IDENTITY_USER_NAME
1143           The process user name
1144
1145       Sys::Virt::IDENTITY_UNIX_USER_ID
1146           The process UNIX user ID
1147
1148       Sys::Virt::IDENTITY_GROUP_NAME
1149           The process group name
1150
1151       Sys::Virt::IDENTITY_UNIX_GROUP_ID
1152           The process UNIX group ID
1153
1154       Sys::Virt::IDENTITY_PROCESS_ID
1155           The process ID.
1156
1157       Sys::Virt::IDENTITY_PROCESS_TIME
1158           The process start time.
1159
1160       Sys::Virt::IDENTITY_SASL_USER_NAME
1161           The SASL authenticated user name
1162
1163       Sys::Virt::IDENTITY_X509_DISTINGUISHED_NAME
1164           The X509 certificate distinguished name for the TLS connection
1165
1166       Sys::Virt::IDENTITY_SELINUX_CONTEXT
1167           The SELinux process context
1168
1169   CPU COMPARISON CONSTANTS
1170       Sys::Virt::CPU_COMPARE_INCOMPATIBLE
1171           This host is missing one or more CPU features in the CPU
1172           description
1173
1174       Sys::Virt::CPU_COMPARE_IDENTICAL
1175           The host has an identical CPU description
1176
1177       Sys::Virt::CPU_COMPARE_SUPERSET
1178           The host offers a superset of the CPU descriptoon
1179
1180   NODE SUSPEND CONSTANTS
1181       Sys::Virt::NODE_SUSPEND_TARGET_MEM
1182           Suspends to memory (equivalent of S3 on x86 architectures)
1183
1184       Sys::Virt::NODE_SUSPEND_TARGET_DISK
1185           Suspends to disk (equivalent of S5 on x86 architectures)
1186
1187       Sys::Virt::NODE_SUSPEND_TARGET_HYBRID
1188           Suspends to memory and disk (equivalent of S3+S5 on x86
1189           architectures)
1190
1191   NODE VCPU CONSTANTS
1192       Sys::Virt::NODE_CPU_STATS_ALL_CPUS
1193           Request statistics for all CPUs
1194
1195   NODE MEMORY CONSTANTS
1196       Sys::Virt::NODE_MEMORY_STATS_ALL_CELLS
1197           Request statistics for all memory cells
1198
1199   MEMORY PARAMETERS
1200       The following constants are used to name memory parameters of the node
1201
1202       Sys::Virt::NODE_MEMORY_SHARED_FULL_SCANS
1203           How many times all mergeable areas have been scanned.
1204
1205       Sys::Virt::NODE_MEMORY_SHARED_PAGES_SHARED
1206           How many the shared memory pages are being used.
1207
1208       Sys::Virt::NODE_MEMORY_SHARED_PAGES_SHARING
1209           How many sites are sharing the pages
1210
1211       Sys::Virt::NODE_MEMORY_SHARED_PAGES_TO_SCAN
1212           How many present pages to scan before the shared memory service
1213           goes to sleep
1214
1215       Sys::Virt::NODE_MEMORY_SHARED_PAGES_UNSHARED
1216           How many pages unique but repeatedly checked for merging.
1217
1218       Sys::Virt::NODE_MEMORY_SHARED_PAGES_VOLATILE
1219           How many pages changing too fast to be placed in a tree.
1220
1221       Sys::Virt::NODE_MEMORY_SHARED_SLEEP_MILLISECS
1222           How many milliseconds the shared memory service should sleep before
1223           next scan.
1224
1225       Sys::Virt::NODE_MEMORY_SHARED_MERGE_ACROSS_NODES
1226           Whether pages can be merged across NUMA nodes
1227
1228   CLOSE REASON CONSTANTS
1229       The following constants related to the connection close callback,
1230       describe the reason for the closing of the connection.
1231
1232       Sys::Virt::CLOSE_REASON_CLIENT
1233           The client application requested the connection be closed
1234
1235       Sys::Virt::CLOSE_REASON_EOF
1236           End-of-file was encountered reading data from the connection
1237
1238       Sys::Virt::CLOSE_REASON_ERROR
1239           An I/O error was encountered reading/writing data from/to the
1240           connection
1241
1242       Sys::Virt::CLOSE_REASON_KEEPALIVE
1243           The connection keepalive timer triggered due to lack of response
1244           from the server
1245
1246   CPU STATS CONSTANTS
1247       The following constants provide the names of known CPU stats fields
1248
1249       Sys::Virt::NODE_CPU_STATS_IDLE
1250           Time spent idle
1251
1252       Sys::Virt::NODE_CPU_STATS_IOWAIT
1253           Time spent waiting for I/O to complete
1254
1255       Sys::Virt::NODE_CPU_STATS_KERNEL
1256           Time spent executing kernel code
1257
1258       Sys::Virt::NODE_CPU_STATS_USER
1259           Time spent executing user code
1260
1261       Sys::Virt::NODE_CPU_STATS_INTR
1262           Time spent processing interrupts
1263
1264       Sys::Virt::NODE_CPU_STATS_UTILIZATION
1265           Percentage utilization of the CPU.
1266
1267   MEMORY STAS CONSTANTS
1268       The following constants provide the names of known memory stats fields
1269
1270       Sys::Virt::NODE_MEMORY_STATS_BUFFERS
1271           The amount of memory consumed by I/O buffers
1272
1273       Sys::Virt::NODE_MEMORY_STATS_CACHED
1274           The amount of memory consumed by disk cache
1275
1276       Sys::Virt::NODE_MEMORY_STATS_FREE
1277           The amount of free memory
1278
1279       Sys::Virt::NODE_MEMORY_STATS_TOTAL
1280           The total amount of memory
1281
1282   IP address constants
1283       The following constants are used to interpret IP address types
1284
1285       Sys::Virt::IP_ADDR_TYPE_IPV4
1286           An IPv4 address type
1287
1288       Sys::Virt::IP_ADDR_TYPE_IPV6
1289           An IPv6 address type
1290

BUGS

1292       Hopefully none, but the XS code needs to be audited to ensure it is not
1293       leaking memory.
1294

AUTHORS

1296       Daniel P. Berrange <berrange@redhat.com>
1297
1299       Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2009 Daniel P.
1300       Berrange
1301

LICENSE

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

SEE ALSO

1310       Sys::Virt::Domain, Sys::Virt::Network, Sys::Virt::StoragePool,
1311       Sys::Virt::StorageVol, Sys::Virt::Error, "http://libvirt.org"
1312
1313
1314
1315perl v5.34.0                      2021-07-22                      Sys::Virt(3)
Impressum