]>
git.proxmox.com Git - pve-firewall.git/blob - src/PVE/API2/Firewall/Host.pm
1 package PVE
::API2
::Firewall
::Host
;
5 use PVE
::JSONSchema
qw(get_standard_option);
6 use PVE
::RPCEnvironment
;
9 use PVE
::API2
::Firewall
::Rules
;
11 use Data
::Dumper
; # fixme: remove
13 use base
qw(PVE::RESTHandler);
15 __PACKAGE__-
>register_method ({
16 subclass
=> "PVE::API2::Firewall::HostRules",
20 __PACKAGE__-
>register_method({
24 permissions
=> { user
=> 'all' },
25 description
=> "Directory index.",
27 additionalProperties
=> 0,
29 node
=> get_standard_option
('pve-node'),
38 links
=> [ { rel
=> 'child', href
=> "{name}" } ],
45 { name
=> 'options' },
52 __PACKAGE__-
>register_method({
53 name
=> 'get_options',
56 description
=> "Get host firewall options.",
59 additionalProperties
=> 0,
61 node
=> get_standard_option
('pve-node'),
71 my $hostfw_conf = PVE
::Firewall
::load_hostfw_conf
();
73 return PVE
::Firewall
::copy_opject_with_digest
($hostfw_conf->{options
});
76 __PACKAGE__-
>register_method({
80 description
=> "Read firewall log",
83 check
=> ['perm', '/nodes/{node}', [ 'Sys.Syslog' ]],
87 additionalProperties
=> 0,
89 node
=> get_standard_option
('pve-node'),
108 description
=> "Line number",
112 description
=> "Line text",
121 my $rpcenv = PVE
::RPCEnvironment
::get
();
122 my $user = $rpcenv->get_user();
123 my $node = $param->{node
};
125 my ($count, $lines) = PVE
::Tools
::dump_logfile
("/var/log/pve-firewall.log", $param->{start
}, $param->{limit
});
127 $rpcenv->set_result_attrib('total', $count);