]>
git.proxmox.com Git - pve-firewall.git/blob - src/PVE/API2/Firewall/Groups.pm
1 package PVE
::API2
::Firewall
::Groups
;
5 use PVE
::JSONSchema
qw(get_standard_option);
10 use Data
::Dumper
; # fixme: remove
12 use base
qw(PVE::RESTHandler);
14 __PACKAGE__-
>register_method({
18 description
=> "List security groups.",
21 additionalProperties
=> 0,
23 node
=> get_standard_option
('pve-node'),
32 description
=> "Security group name.",
37 links
=> [ { rel
=> 'child', href
=> "{name}" } ],
42 my $groups_conf = PVE
::Firewall
::load_security_groups
();
45 foreach my $group (keys %{$groups_conf->{rules
}}) {
46 push @$res, { name
=> $group, count
=> scalar(@{$groups_conf->{rules
}->{$group}}) };
52 __PACKAGE__-
>register_method({
56 description
=> "List security groups rules.",
59 additionalProperties
=> 0,
61 node
=> get_standard_option
('pve-node'),
63 description
=> "Security group name.",
78 my $groups_conf = PVE
::Firewall
::load_security_groups
();
80 my $rules = $groups_conf->{rules
}->{$param->{group
}};
81 die "no such security group\n" if !defined($rules);
83 my $digest = $groups_conf->{digest
};
88 foreach my $rule (@$rules) {
89 push @$res, PVE
::Firewall
::cleanup_fw_rule
($rule, $digest, $ind++);