File Coverage

blib/lib/WebService/HashiCorp/Vault/Sys.pm
Criterion Covered Total %
statement 6 30 20.0
branch n/a
condition n/a
subroutine 2 14 14.2
pod 12 12 100.0
total 20 56 35.7


line stmt bran cond sub pod time code
1             #!perl
2             # vim: softtabstop=4 tabstop=4 shiftwidth=4 ft=perl expandtab smarttab
3             # ABSTRACT: Perl API for HashiCorp's Vault (System)
4              
5             # See also https://github.com/hashicorp/vault-ruby
6             # And https://github.com/ianunruh/hvac
7             # And https://www.vaultproject.io/api/index.html
8              
9             package WebService::HashiCorp::Vault::Sys;
10              
11 2     2   71114 use Moo;
  2         11681  
  2         11  
12             our $VERSION = '0.01'; # VERSION
13 2     2   2334 use namespace::clean;
  2         11691  
  2         26  
14              
15             extends 'WebService::HashiCorp::Vault::Base';
16              
17             has '+mount' => ( is => 'ro', default => 'sys' );
18              
19              
20             #
21             # /sys/audit
22             #
23              
24              
25             sub audit {
26 0     0 1   my $self = shift;
27 0           return $self->get( $self->_mkuri('audit') )
28             }
29              
30             # /sys/audit-hash
31             #
32             #
33             # /sys/auth
34              
35              
36             sub auth {
37 0     0 1   my $self = shift;
38 0           return $self->get( $self->_mkuri('auth') )
39             }
40              
41             # /sys/capabilities
42             #
43             #
44             # /sys/capabilities-accessor
45             #
46             #
47             # /sys/capabilities-self
48             #
49             #
50             # /sys/config/auditing
51             #
52             #
53             # /sys/generate-root
54              
55              
56             sub generate_root {
57 0     0 1   my $self = shift;
58 0           return $self->get( $self->_mkuri('generate-root') )
59             }
60              
61              
62             sub health {
63 0     0 1   my $self = shift;
64 0           return $self->get( $self->_mkuri('health') )
65             }
66              
67              
68             sub init {
69 0     0 1   my $self = shift;
70 0           return $self->get( $self->_mkuri('init') )
71             }
72              
73              
74             sub key_status {
75 0     0 1   my $self = shift;
76 0           return $self->get( $self->_mkuri('key-status') )
77             }
78              
79              
80             sub leader {
81 0     0 1   my $self = shift;
82 0           return $self->get( $self->_mkuri('leader') )
83             }
84              
85              
86             sub mounts {
87 0     0 1   my $self = shift;
88 0           return $self->get( $self->_mkuri('mounts') )
89             }
90              
91              
92             sub policy {
93 0     0 1   my $self = shift;
94 0           return $self->get( $self->_mkuri('policy') )
95             }
96              
97             # /sys/raw
98             # /sys/rekey
99              
100              
101             sub rekey_init {
102 0     0 1   my $self = shift;
103 0           return $self->get( $self->_mkuri('rekey/init') )
104             }
105              
106              
107             sub rekey_backup {
108 0     0 1   my $self = shift;
109 0           return $self->get( $self->_mkuri('rekey/backup') )
110             }
111              
112             #=head2 rekey_update
113             #
114             # my $rekey_update = $sys->rekey_update();
115             #
116             #Returns the 'rekey/update' of the vault from API location I
117             #
118             #The result is a hash reference
119             #
120             #TODO: implement DELETE
121             #
122             #=cut
123             #
124             #sub rekey_update {
125             # my $self = shift;
126             # return $self->get( $self->_mkuri('rekey/update') )
127             #}
128              
129             # /sys/remount
130             # /sys/renew
131             # /sys/replication
132             # /sys/revoke
133             # /sys/revoke-force
134             # /sys/revoke-prefix
135             # /sys/rotate
136             # /sys/seal
137             # /sys/seal-status
138              
139              
140             sub seal_status {
141 0     0 1   my $self = shift;
142 0           return $self->get( $self->_mkuri('seal-status') )
143             }
144              
145             # /sys/step-down
146             # /sys/unseal
147             # /sys/wrapping/lookup
148             # /sys/wrapping/rewrap
149             # /sys/wrapping/unwrap
150             # /sys/wrapping/wrap
151             #
152              
153             1;
154              
155             __END__