description => "Network/IP specification in CIDR format.",
type => 'string', format => 'IPv4orCIDR',
},
- name => {
- description => "IP set name.",
- type => 'string',
- },
+ name => get_standard_option('ipset-name'),
comment => {
type => 'string',
optional => 1,
use strict;
use warnings;
-use PVE::Firewall;
+use PVE::JSONSchema qw(get_standard_option);
use PVE::Exception qw(raise_param_exc);
+use PVE::Firewall;
use base qw(PVE::RESTHandler);
items => {
type => "object",
properties => {
- name => {
- description => "IPSet name.",
- type => 'string',
- },
+ name => get_standard_option('ipset-name'),
},
},
links => [ { rel => 'child', href => "{name}" } ],
parameters => {
additionalProperties => 0,
properties => {
- name => {
- # fixme: verify format
- description => "IP set name.",
- type => 'string',
- },
+ name => get_standard_option('ipset-name'),
+ rename => get_standard_option('ipset-name', {
+ description => "Rename an existing IPSet.",
+ optional => 1,
+ }),
}
},
returns => { type => 'null' },
if $name eq $param->{name};
}
- $fw_conf->{ipset}->{$param->{name}} = [];
+ if ($param->{rename}) {
+ raise_param_exc({ name => "IPSet '$param->{rename}' does not exists" })
+ if !$fw_conf->{ipset}->{$param->{rename}};
+ my $data = delete $fw_conf->{ipset}->{$param->{rename}};
+ $fw_conf->{ipset}->{$param->{name}} = $data;
+ } else {
+ $fw_conf->{ipset}->{$param->{name}} = [];
+ }
+
$class->save_config($fw_conf);
return undef;
parameters => {
additionalProperties => 0,
properties => {
- name => {
- # fixme: verify format
- description => "IP set name.",
- type => 'string',
- },
+ name => get_standard_option('ipset-name'),
}
},
returns => { type => 'null' },
return undef if !$fw_conf->{ipset}->{$param->{name}};
- die "IPSet '$param->{name}' is not empty"
+ die "IPSet '$param->{name}' is not empty\n"
if scalar(@{$fw_conf->{ipset}->{$param->{name}}});
delete $fw_conf->{ipset}->{$param->{name}};