diff options
Diffstat (limited to 'src/property')
-rw-r--r-- | src/property/firewalld.lisp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/property/firewalld.lisp b/src/property/firewalld.lisp index ee69cb5..6c6f337 100644 --- a/src/property/firewalld.lisp +++ b/src/property/firewalld.lisp @@ -228,6 +228,22 @@ only FIREWALLD:DEFAULT-ZONE." :check `(,#?"--zone=${zone}" ,#?"--query-interface=${interface}") :apply `(,#?"--zone=${zone}" ,#?"--remove-interface=${interface}")))) +(defproplist zone-has-source :posix (zone source) + (:desc #?"firewalld zone ${zone} has source ${source}") + (with-unapply + (installed) + (has-zone zone) + (%firewall-cmd + t :file #?"zones/${zone}.xml" :warning "ZONE_ALREADY_SET" + :check `(,#?"--zone=${zone}" ,#?"--query-source=${source}") + :apply `(,#?"--zone=${zone}" ,#?"--add-source=${source}")) + :unapply + (%firewall-cmd + t :file #?"zones/${zone}.xml" :warning "UNKNOWN_SOURCE" + :complement-check t + :check `(,#?"--zone=${zone}" ,#?"--query-source=${source}") + :apply `(,#?"--zone=${zone}" ,#?"--remove-source=${source}")))) + (defproplist zone-has-service :posix (zone service) (:desc #?"firewalld zone ${zone} has service ${service}") (with-unapply |