]> git.proxmox.com Git - pve-firewall.git/blobdiff - src/PVE/API2/Firewall/VM.pm
grammar fix: s/does not exists/does not exist/g
[pve-firewall.git] / src / PVE / API2 / Firewall / VM.pm
index f4834918b35212e270c359257311139150b698ef..5b9b6dd7a6c670b80fd343b7022b076d9105b63d 100644 (file)
@@ -2,50 +2,18 @@ package PVE::API2::Firewall::VMBase;
 
 use strict;
 use warnings;
+
+use PVE::Exception qw(raise_param_exc);
 use PVE::JSONSchema qw(get_standard_option);
 use PVE::Cluster;
 use PVE::Firewall;
 use PVE::API2::Firewall::Rules;
 use PVE::API2::Firewall::Aliases;
 
-use Data::Dumper; # fixme: remove
 
 use base qw(PVE::RESTHandler);
 
-my $option_properties = {
-    enable => {
-       description => "Enable host firewall rules.",
-       type => 'boolean',
-       optional => 1,
-    },
-    macfilter => {
-       description => "Enable/disable MAC address filter.",
-       type => 'boolean',
-       optional => 1,
-    },
-    dhcp => {
-       description => "Enable DHCP.",
-       type => 'boolean',
-       optional => 1,
-    },
-    policy_in => {
-       description => "Input policy.",
-       type => 'string',
-       optional => 1,
-       enum => ['ACCEPT', 'REJECT', 'DROP'],
-    },
-    policy_out => { 
-       description => "Output policy.",
-       type => 'string',
-       optional => 1,
-       enum => ['ACCEPT', 'REJECT', 'DROP'],
-    },
-    log_level_in =>  get_standard_option('pve-fw-loglevel', {
-       description => "Log level for incoming traffic." }),
-    log_level_out =>  get_standard_option('pve-fw-loglevel', {
-       description => "Log level for outgoing traffic." }),
-
-};
+my $option_properties = $PVE::Firewall::vm_option_properties;
 
 my $add_option_properties = sub {
     my ($properties) = @_;
@@ -53,7 +21,7 @@ my $add_option_properties = sub {
     foreach my $k (keys %$option_properties) {
        $properties->{$k} = $option_properties->{$k};
     }
-    
+
     return $properties;
 };
 
@@ -162,7 +130,7 @@ sub register_handlers {
 
            if ($param->{delete}) {
                foreach my $opt (PVE::Tools::split_list($param->{delete})) {
-                   raise_param_exc({ delete => "no such option '$opt'" }) 
+                   raise_param_exc({ delete => "no such option '$opt'" })
                        if !$option_properties->{$opt};
                    delete $vmfw_conf->{options}->{$opt};
                }
@@ -174,17 +142,17 @@ sub register_handlers {
 
            foreach my $k (keys %$option_properties) {
                next if !defined($param->{$k});
-               $vmfw_conf->{options}->{$k} = $param->{$k}; 
+               $vmfw_conf->{options}->{$k} = $param->{$k};
            }
 
            PVE::Firewall::save_vmfw_conf($param->{vmid}, $vmfw_conf);
-           
+
            return undef;
        }});
 
     $class->register_method({
-       name => 'log', 
-       path => 'log', 
+       name => 'log',
+       path => 'log',
        method => 'GET',
        description => "Read firewall log",
        proxyto => 'node',
@@ -211,7 +179,7 @@ sub register_handlers {
        },
        returns => {
            type => 'array',
-           items => { 
+           items => {
                type => "object",
                properties => {
                    n => {
@@ -232,13 +200,13 @@ sub register_handlers {
            my $user = $rpcenv->get_user();
            my $vmid = $param->{vmid};
 
-           my ($count, $lines) = PVE::Tools::dump_logfile("/var/log/pve-firewall.log", 
+           my ($count, $lines) = PVE::Tools::dump_logfile("/var/log/pve-firewall.log",
                                                           $param->{start}, $param->{limit},
                                                           "^$vmid ");
-           
+
            $rpcenv->set_result_attrib('total', $count);
-           
-           return $lines; 
+
+           return $lines;
        }});
 
 
@@ -267,7 +235,7 @@ sub register_handlers {
            type => 'array',
            items => {
                type => "object",
-               properties => { 
+               properties => {
                    type => {
                        type => 'string',
                        enum => ['alias', 'ipset'],
@@ -275,7 +243,7 @@ sub register_handlers {
                    name => {
                        type => 'string',
                    },
-                   comment => { 
+                   comment => {
                        type => 'string',
                        optional => 1,
                    },
@@ -284,7 +252,7 @@ sub register_handlers {
        },
        code => sub {
            my ($param) = @_;
-           
+
            my $cluster_conf = PVE::Firewall::load_clusterfw_conf();
            my $fw_conf = PVE::Firewall::load_vmfw_conf($cluster_conf, $rule_env, $param->{vmid});
 
@@ -295,7 +263,7 @@ sub register_handlers {
                next if !$conf;
                if (!$param->{type} || $param->{type} eq 'ipset') {
                    foreach my $name (keys %{$conf->{ipset}}) {
-                       my $data = { 
+                       my $data = {
                            type => 'ipset',
                            name => $name,
                            ref => "+$name",
@@ -310,7 +278,7 @@ sub register_handlers {
                if (!$param->{type} || $param->{type} eq 'alias') {
                    foreach my $name (keys %{$conf->{aliases}}) {
                        my $e = $conf->{aliases}->{$name};
-                       my $data = { 
+                       my $data = {
                            type => 'alias',
                            name => $name,
                            ref => $name,
@@ -324,8 +292,8 @@ sub register_handlers {
            my $res = [];
            foreach my $e (values %$ipsets) { push @$res, $e; };
            foreach my $e (values %$aliases) { push @$res, $e; };
-           
-           return $res; 
+
+           return $res;
        }});
 }
 
@@ -337,17 +305,17 @@ use warnings;
 use base qw(PVE::API2::Firewall::VMBase);
 
 __PACKAGE__->register_method ({
-    subclass => "PVE::API2::Firewall::VMRules",  
+    subclass => "PVE::API2::Firewall::VMRules",
     path => 'rules',
 });
 
 __PACKAGE__->register_method ({
-    subclass => "PVE::API2::Firewall::VMAliases",  
+    subclass => "PVE::API2::Firewall::VMAliases",
     path => 'aliases',
 });
 
 __PACKAGE__->register_method ({
-    subclass => "PVE::API2::Firewall::VMIPSetList",  
+    subclass => "PVE::API2::Firewall::VMIPSetList",
     path => 'ipset',
 });
 
@@ -361,17 +329,17 @@ use warnings;
 use base qw(PVE::API2::Firewall::VMBase);
 
 __PACKAGE__->register_method ({
-    subclass => "PVE::API2::Firewall::CTRules",  
+    subclass => "PVE::API2::Firewall::CTRules",
     path => 'rules',
 });
 
 __PACKAGE__->register_method ({
-    subclass => "PVE::API2::Firewall::CTAliases",  
+    subclass => "PVE::API2::Firewall::CTAliases",
     path => 'aliases',
 });
 
 __PACKAGE__->register_method ({
-    subclass => "PVE::API2::Firewall::CTIPSetList",  
+    subclass => "PVE::API2::Firewall::CTIPSetList",
     path => 'ipset',
 });