File Coverage

blib/lib/Sys/Async/Virt/StorageVol.pm
Criterion Covered Total %
statement 26 103 25.2
branch n/a
condition 0 14 0.0
subroutine 9 25 36.0
pod 14 16 87.5
total 49 158 31.0


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   7 use warnings;
  1         2  
  1         101  
15 1     1   7 use experimental 'signatures';
  1         4  
  1         8  
16 1     1   169 use Future::AsyncAwait;
  1         3  
  1         8  
17 1     1   64 use Object::Pad;
  1         3  
  1         9  
18              
19             class Sys::Async::Virt::StorageVol v0.6.1;
20              
21 1     1   360 use Carp qw(croak);
  1         2  
  1         101  
22 1     1   9 use Log::Any qw($log);
  1         2  
  1         8  
23              
24 1     1   306 use Protocol::Sys::Virt::Remote::XDR v12.1.0;
  1         18  
  1         215  
25             my $remote = 'Protocol::Sys::Virt::Remote::XDR';
26              
27             use constant {
28 1         2667 FILE => 0,
29             BLOCK => 1,
30             DIR => 2,
31             NETWORK => 3,
32             NETDIR => 4,
33             PLOOP => 5,
34             DELETE_NORMAL => 0,
35             DELETE_ZEROED => 1 << 0,
36             DELETE_WITH_SNAPSHOTS => 1 << 1,
37             WIPE_ALG_ZERO => 0,
38             WIPE_ALG_NNSA => 1,
39             WIPE_ALG_DOD => 2,
40             WIPE_ALG_BSI => 3,
41             WIPE_ALG_GUTMANN => 4,
42             WIPE_ALG_SCHNEIER => 5,
43             WIPE_ALG_PFITZNER7 => 6,
44             WIPE_ALG_PFITZNER33 => 7,
45             WIPE_ALG_RANDOM => 8,
46             WIPE_ALG_TRIM => 9,
47             USE_ALLOCATION => 0,
48             GET_PHYSICAL => 1 << 0,
49             DOWNLOAD_SPARSE_STREAM => 1 << 0,
50             UPLOAD_SPARSE_STREAM => 1 << 0,
51             RESIZE_ALLOCATE => 1 << 0,
52             RESIZE_DELTA => 1 << 1,
53             RESIZE_SHRINK => 1 << 2,
54 1     1   173 };
  1         5  
55              
56              
57 0     0 0   field $_rpc_id :param :reader;
  0            
58 0     0 0   field $_client :param :reader;
  0            
59              
60 0     0 1   method key() {
  0            
  0            
61 0           return $_rpc_id->{key};
62             }
63              
64 0     0 1   method name() {
  0            
  0            
65 0           return $_rpc_id->{name};
66             }
67              
68 0     0 1   method pool() {
  0            
  0            
69 0           return $_client->_storage_pool_instance( $_rpc_id->{pool} );
70             }
71              
72 0     0 1   method delete($flags = 0) {
  0            
  0            
  0            
73 0   0       return $_client->_call(
74             $remote->PROC_STORAGE_VOL_DELETE,
75             { vol => $_rpc_id, flags => $flags // 0 }, empty => 1 );
76             }
77              
78 0     0 1   method download($offset, $length, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
79 0   0       return $_client->_call(
80             $remote->PROC_STORAGE_VOL_DOWNLOAD,
81             { vol => $_rpc_id, offset => $offset, length => $length, flags => $flags // 0 }, stream => 'read', empty => 1 );
82             }
83              
84 0     0 1   method get_info() {
  0            
  0            
85 0           return $_client->_call(
86             $remote->PROC_STORAGE_VOL_GET_INFO,
87             { vol => $_rpc_id } );
88             }
89              
90 0     0 1   method get_info_flags($flags = 0) {
  0            
  0            
  0            
91 0   0       return $_client->_call(
92             $remote->PROC_STORAGE_VOL_GET_INFO_FLAGS,
93             { vol => $_rpc_id, flags => $flags // 0 } );
94             }
95              
96 0     0 1   async method get_path() {
  0            
  0            
  0            
97 0           return await $_client->_call(
98             $remote->PROC_STORAGE_VOL_GET_PATH,
99             { vol => $_rpc_id }, unwrap => 'name' );
100             }
101              
102 0     0 1   async method get_xml_desc($flags = 0) {
  0            
  0            
  0            
  0            
103 0           return await $_client->_call(
104             $remote->PROC_STORAGE_VOL_GET_XML_DESC,
105             { vol => $_rpc_id, flags => $flags // 0 }, unwrap => 'xml' );
106             }
107              
108 0     0 1   async method pool_lookup_by_volume() {
  0            
  0            
  0            
109 0           return await $_client->_call(
110             $remote->PROC_STORAGE_POOL_LOOKUP_BY_VOLUME,
111             { vol => $_rpc_id }, unwrap => 'pool' );
112             }
113              
114 0     0 1   method resize($capacity, $flags = 0) {
  0            
  0            
  0            
  0            
115 0   0       return $_client->_call(
116             $remote->PROC_STORAGE_VOL_RESIZE,
117             { vol => $_rpc_id, capacity => $capacity, flags => $flags // 0 }, empty => 1 );
118             }
119              
120 0     0 1   method upload($offset, $length, $flags = 0) {
  0            
  0            
  0            
  0            
  0            
121 0   0       return $_client->_call(
122             $remote->PROC_STORAGE_VOL_UPLOAD,
123             { vol => $_rpc_id, offset => $offset, length => $length, flags => $flags // 0 }, stream => 'write', empty => 1 );
124             }
125              
126 0     0 1   method wipe($flags = 0) {
  0            
  0            
  0            
127 0   0       return $_client->_call(
128             $remote->PROC_STORAGE_VOL_WIPE,
129             { vol => $_rpc_id, flags => $flags // 0 }, empty => 1 );
130             }
131              
132 0     0 1   method wipe_pattern($algorithm, $flags = 0) {
  0            
  0            
  0            
  0            
133 0   0       return $_client->_call(
134             $remote->PROC_STORAGE_VOL_WIPE_PATTERN,
135             { vol => $_rpc_id, algorithm => $algorithm, flags => $flags // 0 }, empty => 1 );
136             }
137              
138              
139              
140             1;
141              
142              
143             __END__