File Coverage

blib/lib/Sys/Async/Virt/Network.pm
Criterion Covered Total %
statement 26 137 18.9
branch n/a
condition 0 4 0.0
subroutine 9 30 30.0
pod 19 21 90.4
total 54 192 28.1


line stmt bran cond sub pod time code
1             ####################################################################
2             #
3             # This file was generated using XDR::Parse version v1.0.1
4             # and LibVirt version v12.1.0
5             #
6             # Don't edit this file, use the source template instead
7             #
8             # ANY CHANGES HERE WILL BE LOST !
9             #
10             ####################################################################
11              
12              
13 1     1   16 use v5.26;
  1         5  
14 1     1   9 use warnings;
  1         2  
  1         69  
15 1     1   6 use experimental 'signatures';
  1         2  
  1         8  
16 1     1   160 use Future::AsyncAwait;
  1         2  
  1         7  
17 1     1   58 use Object::Pad;
  1         2  
  1         7  
18              
19             class Sys::Async::Virt::Network v0.6.1;
20              
21 1     1   352 use Carp qw(croak);
  1         2  
  1         84  
22 1     1   7 use Log::Any qw($log);
  1         3  
  1         9  
23              
24 1     1   298 use Protocol::Sys::Virt::Remote::XDR v12.1.0;
  1         12  
  1         140  
25             my $remote = 'Protocol::Sys::Virt::Remote::XDR';
26              
27             use constant {
28 1         4532 XML_INACTIVE => (1 << 0),
29             UPDATE_COMMAND_NONE => 0,
30             UPDATE_COMMAND_MODIFY => 1,
31             UPDATE_COMMAND_DELETE => 2,
32             UPDATE_COMMAND_ADD_LAST => 3,
33             UPDATE_COMMAND_ADD_FIRST => 4,
34             SECTION_NONE => 0,
35             SECTION_BRIDGE => 1,
36             SECTION_DOMAIN => 2,
37             SECTION_IP => 3,
38             SECTION_IP_DHCP_HOST => 4,
39             SECTION_IP_DHCP_RANGE => 5,
40             SECTION_FORWARD => 6,
41             SECTION_FORWARD_INTERFACE => 7,
42             SECTION_FORWARD_PF => 8,
43             SECTION_PORTGROUP => 9,
44             SECTION_DNS_HOST => 10,
45             SECTION_DNS_TXT => 11,
46             SECTION_DNS_SRV => 12,
47             UPDATE_AFFECT_CURRENT => 0,
48             UPDATE_AFFECT_LIVE => 1 << 0,
49             UPDATE_AFFECT_CONFIG => 1 << 1,
50             EVENT_DEFINED => 0,
51             EVENT_UNDEFINED => 1,
52             EVENT_STARTED => 2,
53             EVENT_STOPPED => 3,
54             PORT_CREATE_RECLAIM => (1 << 0),
55             PORT_CREATE_VALIDATE => (1 << 1),
56             METADATA_DESCRIPTION => 0,
57             METADATA_TITLE => 1,
58             METADATA_ELEMENT => 2,
59 1     1   5 };
  1         1  
60              
61              
62 0     0 0   field $_rpc_id :param :reader;
  0            
63 0     0 0   field $_client :param :reader;
  0            
64              
65 0     0 1   method name() {
  0            
  0            
66 0           return $_rpc_id->{name};
67             }
68              
69 0     0 1   method uuid() {
  0            
  0            
70 0           return $_rpc_id->{uuid};
71             }
72              
73 0     0 1   method uuid_string() {
  0            
  0            
74 0           return join( '-', unpack('H8H4H4H4H12', $_rpc_id->{uuid}) );
75             }
76              
77              
78 0     0 1   method create() {
  0            
  0            
79 0           return $_client->_call(
80             $remote->PROC_NETWORK_CREATE,
81             { net => $_rpc_id }, empty => 1 );
82             }
83              
84 0     0 1   method destroy() {
  0            
  0            
85 0           return $_client->_call(
86             $remote->PROC_NETWORK_DESTROY,
87             { net => $_rpc_id }, empty => 1 );
88             }
89              
90 0     0 1   async method get_autostart() {
  0            
  0            
  0            
91 0           return await $_client->_call(
92             $remote->PROC_NETWORK_GET_AUTOSTART,
93             { net => $_rpc_id }, unwrap => 'autostart' );
94             }
95              
96 0     0 1   async method get_bridge_name() {
  0            
  0            
  0            
97 0           return await $_client->_call(
98             $remote->PROC_NETWORK_GET_BRIDGE_NAME,
99             { net => $_rpc_id }, unwrap => 'name' );
100             }
101              
102 0     0 1   async method get_dhcp_leases($mac, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
103 0           return await $_client->_call(
104             $remote->PROC_NETWORK_GET_DHCP_LEASES,
105             { net => $_rpc_id, mac => $mac, need_results => $remote->NETWORK_DHCP_LEASES_MAX, flags => $flags // 0 }, unwrap => 'leases' );
106             }
107              
108 0     0 1   async method get_metadata($type, $uri, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
  0            
109 0           return await $_client->_call(
110             $remote->PROC_NETWORK_GET_METADATA,
111             { network => $_rpc_id, type => $type, uri => $uri, flags => $flags // 0 }, unwrap => 'metadata' );
112             }
113              
114 0     0 1   async method get_xml_desc($flags = 0) {
  0            
  0            
  0            
  0            
115 0           return await $_client->_call(
116             $remote->PROC_NETWORK_GET_XML_DESC,
117             { net => $_rpc_id, flags => $flags // 0 }, unwrap => 'xml' );
118             }
119              
120 0     0 1   async method is_active() {
  0            
  0            
  0            
121 0           return await $_client->_call(
122             $remote->PROC_NETWORK_IS_ACTIVE,
123             { net => $_rpc_id }, unwrap => 'active' );
124             }
125              
126 0     0 1   async method is_persistent() {
  0            
  0            
  0            
127 0           return await $_client->_call(
128             $remote->PROC_NETWORK_IS_PERSISTENT,
129             { net => $_rpc_id }, unwrap => 'persistent' );
130             }
131              
132 0     0 1   async method list_all_ports($flags = 0) {
  0            
  0            
  0            
  0            
133 0           return await $_client->_call(
134             $remote->PROC_NETWORK_LIST_ALL_PORTS,
135             { network => $_rpc_id, need_results => $remote->NETWORK_PORT_LIST_MAX, flags => $flags // 0 }, unwrap => 'ports' );
136             }
137              
138 0     0 1   async method port_create_xml($xml, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
139 0           return await $_client->_call(
140             $remote->PROC_NETWORK_PORT_CREATE_XML,
141             { network => $_rpc_id, xml => $xml, flags => $flags // 0 }, unwrap => 'port' );
142             }
143              
144 0     0 1   async method port_lookup_by_uuid($uuid) {
  0            
  0            
  0            
  0            
145 0           return await $_client->_call(
146             $remote->PROC_NETWORK_PORT_LOOKUP_BY_UUID,
147             { network => $_rpc_id, uuid => $uuid }, unwrap => 'port' );
148             }
149              
150 0     0 1   method set_autostart($autostart) {
  0            
  0            
  0            
151 0           return $_client->_call(
152             $remote->PROC_NETWORK_SET_AUTOSTART,
153             { net => $_rpc_id, autostart => $autostart }, empty => 1 );
154             }
155              
156 0     0 1   method set_metadata($type, $metadata, $key, $uri, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
  0            
  0            
157 0   0       return $_client->_call(
158             $remote->PROC_NETWORK_SET_METADATA,
159             { network => $_rpc_id, type => $type, metadata => $metadata, key => $key, uri => $uri, flags => $flags // 0 }, empty => 1 );
160             }
161              
162 0     0 1   method undefine() {
  0            
  0            
163 0           return $_client->_call(
164             $remote->PROC_NETWORK_UNDEFINE,
165             { net => $_rpc_id }, empty => 1 );
166             }
167              
168 0     0 1   method update($command, $section, $parentIndex, $xml, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
  0            
  0            
169 0   0       return $_client->_call(
170             $remote->PROC_NETWORK_UPDATE,
171             { net => $_rpc_id, command => $command, section => $section, parentIndex => $parentIndex, xml => $xml, flags => $flags // 0 }, empty => 1 );
172             }
173              
174              
175              
176             1;
177              
178              
179             __END__