- name => 'get_rule',
- path => '{group}/{pos}',
- method => 'GET',
- description => "Get single rule data.",
- parameters => {
- additionalProperties => 0,
- properties => {
- group => {
- description => "Security group name.",
- type => 'string',
- },
- pos => {
- description => "Return rule from position <pos>.",
- type => 'integer',
- minimum => 0,
- },
- },
- },
- returns => {
- type => "object",
- properties => {
- pos => {
- type => 'integer',
- }
- },
- },
- code => sub {
- my ($param) = @_;
-
- my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
-
- my $rules = $cluster_conf->{groups}->{$param->{group}};
- die "no such security group\n" if !defined($rules);
-
- my $digest = $cluster_conf->{digest};
- # fixme: check digest
-
- die "no rule at position $param->{pos}\n" if $param->{pos} >= scalar(@$rules);
-
- my $rule = $rules->[$param->{pos}];
-
- return PVE::Firewall::cleanup_fw_rule($rule, $digest, $param->{pos});
- }});
-
-
-__PACKAGE__->register_method({
- name => 'create_rule',
- path => '{group}',