File switch-firewalld-state-to-use-change_interface.patch of Package salt.21871
From 74d5d84ada50609c60008d3160492c1f4a29d72d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?=
<psuarezhernandez@suse.com>
Date: Mon, 20 May 2019 11:59:39 +0100
Subject: [PATCH] Switch firewalld state to use change_interface
firewalld.present state allows to bind interface to given zone.
However if the interface is already bound to some other zone, call-
ing `add_interface` will not change rebind the interface but report
error.
Option `change_interface` however can rebind the interface from one
zone to another.
This PR adds `firewalld.change_interface` call to firewalld module
and updates `firewalld.present` state to use this call.
---
salt/modules/firewalld.py | 100 ++++++++++++++++++++++----------------
salt/states/firewalld.py | 93 +++++++++++++++++------------------
2 files changed, 104 insertions(+), 89 deletions(-)
diff --git a/salt/modules/firewalld.py b/salt/modules/firewalld.py
index ca35568c3f..12808cb038 100644
--- a/salt/modules/firewalld.py
+++ b/salt/modules/firewalld.py
@@ -1,19 +1,14 @@
-# -*- coding: utf-8 -*-
"""
Support for firewalld.
.. versionadded:: 2015.2.0
"""
-# Import Python Libs
-from __future__ import absolute_import, print_function, unicode_literals
import logging
import re
import salt.utils.path
-
-# Import Salt Libs
from salt.exceptions import CommandExecutionError
log = logging.getLogger(__name__)
@@ -36,7 +31,7 @@ def __firewall_cmd(cmd):
"""
Return the firewall-cmd location
"""
- firewall_cmd = "{0} {1}".format(salt.utils.path.which("firewall-cmd"), cmd)
+ firewall_cmd = "{} {}".format(salt.utils.path.which("firewall-cmd"), cmd)
out = __salt__["cmd.run_all"](firewall_cmd)
if out["retcode"] != 0:
@@ -44,7 +39,7 @@ def __firewall_cmd(cmd):
msg = out["stdout"]
else:
msg = out["stderr"]
- raise CommandExecutionError("firewall-cmd failed: {0}".format(msg))
+ raise CommandExecutionError("firewall-cmd failed: {}".format(msg))
return out["stdout"]
@@ -53,7 +48,7 @@ def __mgmt(name, _type, action):
Perform zone management
"""
# It's permanent because the 4 concerned functions need the permanent option, it's wrong without
- cmd = "--{0}-{1}={2} --permanent".format(action, _type, name)
+ cmd = "--{}-{}={} --permanent".format(action, _type, name)
return __firewall_cmd(cmd)
@@ -250,7 +245,7 @@ def set_default_zone(zone):
salt '*' firewalld.set_default_zone damian
"""
- return __firewall_cmd("--set-default-zone={0}".format(zone))
+ return __firewall_cmd("--set-default-zone={}".format(zone))
def new_service(name, restart=True):
@@ -327,7 +322,7 @@ def list_all(zone=None, permanent=True):
id_ = ""
if zone:
- cmd = "--zone={0} --list-all".format(zone)
+ cmd = "--zone={} --list-all".format(zone)
else:
cmd = "--list-all"
@@ -372,7 +367,7 @@ def list_services(zone=None, permanent=True):
salt '*' firewalld.list_services my_zone
"""
if zone:
- cmd = "--zone={0} --list-services".format(zone)
+ cmd = "--zone={} --list-services".format(zone)
else:
cmd = "--list-services"
@@ -399,9 +394,9 @@ def add_service(service, zone=None, permanent=True):
salt '*' firewalld.add_service ssh my_zone
"""
if zone:
- cmd = "--zone={0} --add-service={1}".format(zone, service)
+ cmd = "--zone={} --add-service={}".format(zone, service)
else:
- cmd = "--add-service={0}".format(service)
+ cmd = "--add-service={}".format(service)
if permanent:
cmd += " --permanent"
@@ -427,9 +422,9 @@ def remove_service(service, zone=None, permanent=True):
salt '*' firewalld.remove_service ssh dmz
"""
if zone:
- cmd = "--zone={0} --remove-service={1}".format(zone, service)
+ cmd = "--zone={} --remove-service={}".format(zone, service)
else:
- cmd = "--remove-service={0}".format(service)
+ cmd = "--remove-service={}".format(service)
if permanent:
cmd += " --permanent"
@@ -452,7 +447,7 @@ def add_service_port(service, port):
if service not in get_services(permanent=True):
raise CommandExecutionError("The service does not exist.")
- cmd = "--permanent --service={0} --add-port={1}".format(service, port)
+ cmd = "--permanent --service={} --add-port={}".format(service, port)
return __firewall_cmd(cmd)
@@ -471,7 +466,7 @@ def remove_service_port(service, port):
if service not in get_services(permanent=True):
raise CommandExecutionError("The service does not exist.")
- cmd = "--permanent --service={0} --remove-port={1}".format(service, port)
+ cmd = "--permanent --service={} --remove-port={}".format(service, port)
return __firewall_cmd(cmd)
@@ -487,7 +482,7 @@ def get_service_ports(service):
salt '*' firewalld.get_service_ports zone
"""
- cmd = "--permanent --service={0} --get-ports".format(service)
+ cmd = "--permanent --service={} --get-ports".format(service)
return __firewall_cmd(cmd).split()
@@ -503,7 +498,7 @@ def add_service_protocol(service, protocol):
salt '*' firewalld.add_service_protocol zone ssh
"""
- cmd = "--permanent --service={0} --add-protocol={1}".format(service, protocol)
+ cmd = "--permanent --service={} --add-protocol={}".format(service, protocol)
return __firewall_cmd(cmd)
@@ -519,7 +514,7 @@ def remove_service_protocol(service, protocol):
salt '*' firewalld.remove_service_protocol zone ssh
"""
- cmd = "--permanent --service={0} --remove-protocol={1}".format(service, protocol)
+ cmd = "--permanent --service={} --remove-protocol={}".format(service, protocol)
return __firewall_cmd(cmd)
@@ -535,7 +530,7 @@ def get_service_protocols(service):
salt '*' firewalld.get_service_protocols zone
"""
- cmd = "--permanent --service={0} --get-protocols".format(service)
+ cmd = "--permanent --service={} --get-protocols".format(service)
return __firewall_cmd(cmd).split()
@@ -578,7 +573,7 @@ def add_masquerade(zone=None, permanent=True):
salt '*' firewalld.add_masquerade dmz
"""
if zone:
- cmd = "--zone={0} --add-masquerade".format(zone)
+ cmd = "--zone={} --add-masquerade".format(zone)
else:
cmd = "--add-masquerade"
@@ -608,7 +603,7 @@ def remove_masquerade(zone=None, permanent=True):
salt '*' firewalld.remove_masquerade dmz
"""
if zone:
- cmd = "--zone={0} --remove-masquerade".format(zone)
+ cmd = "--zone={} --remove-masquerade".format(zone)
else:
cmd = "--remove-masquerade"
@@ -637,7 +632,7 @@ def add_port(zone, port, permanent=True, force_masquerade=False):
if force_masquerade and not get_masquerade(zone):
add_masquerade(zone)
- cmd = "--zone={0} --add-port={1}".format(zone, port)
+ cmd = "--zone={} --add-port={}".format(zone, port)
if permanent:
cmd += " --permanent"
@@ -657,7 +652,7 @@ def remove_port(zone, port, permanent=True):
salt '*' firewalld.remove_port internal 443/tcp
"""
- cmd = "--zone={0} --remove-port={1}".format(zone, port)
+ cmd = "--zone={} --remove-port={}".format(zone, port)
if permanent:
cmd += " --permanent"
@@ -677,7 +672,7 @@ def list_ports(zone, permanent=True):
salt '*' firewalld.list_ports
"""
- cmd = "--zone={0} --list-ports".format(zone)
+ cmd = "--zone={} --list-ports".format(zone)
if permanent:
cmd += " --permanent"
@@ -706,7 +701,7 @@ def add_port_fwd(
if force_masquerade and not get_masquerade(zone):
add_masquerade(zone)
- cmd = "--zone={0} --add-forward-port=port={1}:proto={2}:toport={3}:toaddr={4}".format(
+ cmd = "--zone={} --add-forward-port=port={}:proto={}:toport={}:toaddr={}".format(
zone, src, proto, dest, dstaddr
)
@@ -728,7 +723,7 @@ def remove_port_fwd(zone, src, dest, proto="tcp", dstaddr="", permanent=True):
salt '*' firewalld.remove_port_fwd public 80 443 tcp
"""
- cmd = "--zone={0} --remove-forward-port=port={1}:proto={2}:toport={3}:toaddr={4}".format(
+ cmd = "--zone={} --remove-forward-port=port={}:proto={}:toport={}:toaddr={}".format(
zone, src, proto, dest, dstaddr
)
@@ -752,7 +747,7 @@ def list_port_fwd(zone, permanent=True):
"""
ret = []
- cmd = "--zone={0} --list-forward-ports".format(zone)
+ cmd = "--zone={} --list-forward-ports".format(zone)
if permanent:
cmd += " --permanent"
@@ -792,7 +787,7 @@ def block_icmp(zone, icmp, permanent=True):
log.info("ICMP block already exists")
return "success"
- cmd = "--zone={0} --add-icmp-block={1}".format(zone, icmp)
+ cmd = "--zone={} --add-icmp-block={}".format(zone, icmp)
if permanent:
cmd += " --permanent"
@@ -820,7 +815,7 @@ def allow_icmp(zone, icmp, permanent=True):
log.info("ICMP Type is already permitted")
return "success"
- cmd = "--zone={0} --remove-icmp-block={1}".format(zone, icmp)
+ cmd = "--zone={} --remove-icmp-block={}".format(zone, icmp)
if permanent:
cmd += " --permanent"
@@ -840,7 +835,7 @@ def list_icmp_block(zone, permanent=True):
salt '*' firewlld.list_icmp_block zone
"""
- cmd = "--zone={0} --list-icmp-blocks".format(zone)
+ cmd = "--zone={} --list-icmp-blocks".format(zone)
if permanent:
cmd += " --permanent"
@@ -875,7 +870,7 @@ def get_interfaces(zone, permanent=True):
salt '*' firewalld.get_interfaces zone
"""
- cmd = "--zone={0} --list-interfaces".format(zone)
+ cmd = "--zone={} --list-interfaces".format(zone)
if permanent:
cmd += " --permanent"
@@ -898,7 +893,7 @@ def add_interface(zone, interface, permanent=True):
if interface in get_interfaces(zone, permanent):
log.info("Interface is already bound to zone.")
- cmd = "--zone={0} --add-interface={1}".format(zone, interface)
+ cmd = "--zone={} --add-interface={}".format(zone, interface)
if permanent:
cmd += " --permanent"
@@ -921,7 +916,30 @@ def remove_interface(zone, interface, permanent=True):
if interface not in get_interfaces(zone, permanent):
log.info("Interface is not bound to zone.")
- cmd = "--zone={0} --remove-interface={1}".format(zone, interface)
+ cmd = "--zone={} --remove-interface={}".format(zone, interface)
+
+ if permanent:
+ cmd += " --permanent"
+
+ return __firewall_cmd(cmd)
+
+
+def change_interface(zone, interface, permanent=True):
+ """
+ Change zone the interface bound to
+
+ .. versionadded:: 2019.?.?
+
+ CLI Example:
+
+ .. code-block:: bash
+
+ salt '*' firewalld.change_interface zone eth0
+ """
+ if interface in get_interfaces(zone, permanent):
+ log.info("Interface is already bound to zone.")
+
+ cmd = "--zone={} --change-interface={}".format(zone, interface)
if permanent:
cmd += " --permanent"
@@ -941,7 +959,7 @@ def get_sources(zone, permanent=True):
salt '*' firewalld.get_sources zone
"""
- cmd = "--zone={0} --list-sources".format(zone)
+ cmd = "--zone={} --list-sources".format(zone)
if permanent:
cmd += " --permanent"
@@ -964,7 +982,7 @@ def add_source(zone, source, permanent=True):
if source in get_sources(zone, permanent):
log.info("Source is already bound to zone.")
- cmd = "--zone={0} --add-source={1}".format(zone, source)
+ cmd = "--zone={} --add-source={}".format(zone, source)
if permanent:
cmd += " --permanent"
@@ -987,7 +1005,7 @@ def remove_source(zone, source, permanent=True):
if source not in get_sources(zone, permanent):
log.info("Source is not bound to zone.")
- cmd = "--zone={0} --remove-source={1}".format(zone, source)
+ cmd = "--zone={} --remove-source={}".format(zone, source)
if permanent:
cmd += " --permanent"
@@ -1007,7 +1025,7 @@ def get_rich_rules(zone, permanent=True):
salt '*' firewalld.get_rich_rules zone
"""
- cmd = "--zone={0} --list-rich-rules".format(zone)
+ cmd = "--zone={} --list-rich-rules".format(zone)
if permanent:
cmd += " --permanent"
@@ -1027,7 +1045,7 @@ def add_rich_rule(zone, rule, permanent=True):
salt '*' firewalld.add_rich_rule zone 'rule'
"""
- cmd = "--zone={0} --add-rich-rule='{1}'".format(zone, rule)
+ cmd = "--zone={} --add-rich-rule='{}'".format(zone, rule)
if permanent:
cmd += " --permanent"
@@ -1047,7 +1065,7 @@ def remove_rich_rule(zone, rule, permanent=True):
salt '*' firewalld.remove_rich_rule zone 'rule'
"""
- cmd = "--zone={0} --remove-rich-rule='{1}'".format(zone, rule)
+ cmd = "--zone={} --remove-rich-rule='{}'".format(zone, rule)
if permanent:
cmd += " --permanent"
diff --git a/salt/states/firewalld.py b/salt/states/firewalld.py
index 4114e99f43..425defcfb1 100644
--- a/salt/states/firewalld.py
+++ b/salt/states/firewalld.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
"""
Management of firewalld
@@ -76,21 +75,17 @@ would allow access to the salt master from the 10.0.0.0/8 subnet:
- 10.0.0.0/8
"""
-# Import Python Libs
-from __future__ import absolute_import, print_function, unicode_literals
import logging
import salt.utils.path
-
-# Import Salt Libs
from salt.exceptions import CommandExecutionError
from salt.output import nested
log = logging.getLogger(__name__)
-class ForwardingMapping(object):
+class ForwardingMapping:
"""
Represents a port forwarding statement mapping a local port to a remote
port for a specific protocol (TCP or UDP)
@@ -282,7 +277,7 @@ def service(name, ports=None, protocols=None):
try:
_current_ports = __salt__["firewalld.get_service_ports"](name)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_ports = set(ports) - set(_current_ports)
@@ -293,7 +288,7 @@ def service(name, ports=None, protocols=None):
try:
__salt__["firewalld.add_service_port"](name, port)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
for port in old_ports:
@@ -301,7 +296,7 @@ def service(name, ports=None, protocols=None):
try:
__salt__["firewalld.remove_service_port"](name, port)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_ports or old_ports:
@@ -312,7 +307,7 @@ def service(name, ports=None, protocols=None):
try:
_current_protocols = __salt__["firewalld.get_service_protocols"](name)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_protocols = set(protocols) - set(_current_protocols)
@@ -323,7 +318,7 @@ def service(name, ports=None, protocols=None):
try:
__salt__["firewalld.add_service_protocol"](name, protocol)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
for protocol in old_protocols:
@@ -331,7 +326,7 @@ def service(name, ports=None, protocols=None):
try:
__salt__["firewalld.remove_service_protocol"](name, protocol)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_protocols or old_protocols:
@@ -344,15 +339,15 @@ def service(name, ports=None, protocols=None):
ret["result"] = True
if ret["changes"] == {}:
- ret["comment"] = "'{0}' is already in the desired state.".format(name)
+ ret["comment"] = "'{}' is already in the desired state.".format(name)
return ret
if __opts__["test"]:
ret["result"] = None
- ret["comment"] = "Configuration for '{0}' will change.".format(name)
+ ret["comment"] = "Configuration for '{}' will change.".format(name)
return ret
- ret["comment"] = "'{0}' was configured.".format(name)
+ ret["comment"] = "'{}' was configured.".format(name)
return ret
@@ -385,7 +380,7 @@ def _present(
try:
zones = __salt__["firewalld.get_zones"](permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if name not in zones:
@@ -393,7 +388,7 @@ def _present(
try:
__salt__["firewalld.new_zone"](name)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
ret["changes"].update({name: {"old": zones, "new": name}})
@@ -408,14 +403,14 @@ def _present(
name, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if block_icmp:
try:
_valid_icmp_types = __salt__["firewalld.get_icmp_types"](permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
# log errors for invalid ICMP types in block_icmp input
@@ -431,7 +426,7 @@ def _present(
name, icmp_type, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_block_icmp:
@@ -446,7 +441,7 @@ def _present(
name, icmp_type, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_icmp_types or old_icmp_types:
@@ -464,21 +459,21 @@ def _present(
try:
default_zone = __salt__["firewalld.default_zone"]()
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if name != default_zone:
if not __opts__["test"]:
try:
__salt__["firewalld.set_default_zone"](name)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
ret["changes"].update({"default": {"old": default_zone, "new": name}})
try:
masquerade_ret = __salt__["firewalld.get_masquerade"](name, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if masquerade and not masquerade_ret:
@@ -486,7 +481,7 @@ def _present(
try:
__salt__["firewalld.add_masquerade"](name, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
ret["changes"].update(
{"masquerade": {"old": "", "new": "Masquerading successfully set."}}
@@ -496,7 +491,7 @@ def _present(
try:
__salt__["firewalld.remove_masquerade"](name, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
ret["changes"].update(
{"masquerade": {"old": "", "new": "Masquerading successfully " "disabled."}}
@@ -507,7 +502,7 @@ def _present(
try:
_current_ports = __salt__["firewalld.list_ports"](name, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_ports = set(ports) - set(_current_ports)
@@ -520,7 +515,7 @@ def _present(
name, port, permanent=True, force_masquerade=False
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_ports:
@@ -530,7 +525,7 @@ def _present(
try:
__salt__["firewalld.remove_port"](name, port, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_ports or old_ports:
@@ -547,7 +542,7 @@ def _present(
name, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
port_fwd = [_parse_forward(fwd) for fwd in port_fwd]
@@ -577,7 +572,7 @@ def _present(
force_masquerade=False,
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_port_fwd:
@@ -594,7 +589,7 @@ def _present(
permanent=True,
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_port_fwd or old_port_fwd:
@@ -618,7 +613,7 @@ def _present(
name, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_services = set(services) - set(_current_services)
@@ -629,7 +624,7 @@ def _present(
try:
__salt__["firewalld.add_service"](new_service, name, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_services:
@@ -641,7 +636,7 @@ def _present(
old_service, name, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_services or old_services:
@@ -660,7 +655,7 @@ def _present(
name, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_interfaces = set(interfaces) - set(_current_interfaces)
@@ -669,9 +664,11 @@ def _present(
for interface in new_interfaces:
if not __opts__["test"]:
try:
- __salt__["firewalld.add_interface"](name, interface, permanent=True)
+ __salt__["firewalld.change_interface"](
+ name, interface, permanent=True
+ )
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_interfaces:
@@ -683,7 +680,7 @@ def _present(
name, interface, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_interfaces or old_interfaces:
@@ -700,7 +697,7 @@ def _present(
try:
_current_sources = __salt__["firewalld.get_sources"](name, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_sources = set(sources) - set(_current_sources)
@@ -711,7 +708,7 @@ def _present(
try:
__salt__["firewalld.add_source"](name, source, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_sources:
@@ -723,7 +720,7 @@ def _present(
name, source, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_sources or old_sources:
@@ -742,7 +739,7 @@ def _present(
name, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
new_rich_rules = set(rich_rules) - set(_current_rich_rules)
@@ -753,7 +750,7 @@ def _present(
try:
__salt__["firewalld.add_rich_rule"](name, rich_rule, permanent=True)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if prune_rich_rules:
@@ -765,7 +762,7 @@ def _present(
name, rich_rule, permanent=True
)
except CommandExecutionError as err:
- ret["comment"] = "Error: {0}".format(err)
+ ret["comment"] = "Error: {}".format(err)
return ret
if new_rich_rules or old_rich_rules:
@@ -780,7 +777,7 @@ def _present(
# No changes
if ret["changes"] == {}:
ret["result"] = True
- ret["comment"] = "'{0}' is already in the desired state.".format(name)
+ ret["comment"] = "'{}' is already in the desired state.".format(name)
return ret
# test=True and changes predicted
@@ -789,7 +786,7 @@ def _present(
# build comment string
nested.__opts__ = __opts__
comment = []
- comment.append("Configuration for '{0}' will change:".format(name))
+ comment.append("Configuration for '{}' will change:".format(name))
comment.append(nested.output(ret["changes"]).rstrip())
ret["comment"] = "\n".join(comment)
ret["changes"] = {}
@@ -797,5 +794,5 @@ def _present(
# Changes were made successfully
ret["result"] = True
- ret["comment"] = "'{0}' was configured.".format(name)
+ ret["comment"] = "'{}' was configured.".format(name)
return ret
--
2.29.2