]> git.proxmox.com Git - pve-firewall.git/blobdiff - src/PVE/API2/Firewall/Aliases.pm
api: add locking helpers
[pve-firewall.git] / src / PVE / API2 / Firewall / Aliases.pm
index 2a66abdbbe72d47ff179f10cddfa37e0e64ca13f..9ea6f70ccb57ee22b80c5e17141350321b5a0ff1 100644 (file)
@@ -25,6 +25,12 @@ my $api_properties = {
     },
 };
 
+sub lock_config {
+    my ($class, $param, $code) = @_;
+
+    die "implement this in subclass";
+}
+
 sub load_config {
     my ($class, $param) = @_;
 
@@ -308,6 +314,12 @@ sub rule_env {
     return 'cluster';
 }
 
+sub lock_config {
+    my ($class, $param, $code) = @_;
+
+    PVE::Firewall::lock_clusterfw_conf(10, $code, $param);
+}
+
 sub load_config {
     my ($class, $param) = @_;
 
@@ -345,6 +357,12 @@ __PACKAGE__->additional_parameters({
     vmid => get_standard_option('pve-vmid'),
 });
 
+sub lock_config {
+    my ($class, $param, $code) = @_;
+
+    PVE::Firewall::lock_vmfw_conf($param->{vmid}, 10, $code, $param);
+}
+
 sub load_config {
     my ($class, $param) = @_;
 
@@ -383,6 +401,12 @@ __PACKAGE__->additional_parameters({
     vmid => get_standard_option('pve-vmid'),
 });
 
+sub lock_config {
+    my ($class, $param, $code) = @_;
+
+    PVE::Firewall::lock_vmfw_conf($param->{vmid}, 10, $code, $param);
+}
+
 sub load_config {
     my ($class, $param) = @_;