Mini Shell
"""
State to check firewall configurations
.. versionadded:: 2016.3.0
"""
def __virtual__():
"""
Load only if network is loaded
"""
if "network.connect" in __salt__:
return "firewall"
return (False, "network module could not be loaded")
def check(name, port=None, **kwargs):
"""
Checks if there is an open connection from the minion to the defined
host on a specific port.
name
host name or ip address to test connection to
port
The port to test the connection on
kwargs
Additional parameters, parameters allowed are:
proto (tcp or udp)
family (ipv4 or ipv6)
timeout
.. code-block:: yaml
testgoogle:
firewall.check:
- name: 'google.com'
- port: 80
- proto: 'tcp'
"""
# set name to host as required by the module
host = name
ret = {"name": name, "result": True, "changes": {}, "comment": ""}
if "test" not in kwargs:
kwargs["test"] = __opts__.get("test", False)
# check the connection
if kwargs["test"]:
ret["result"] = True
ret["comment"] = "The connection will be tested"
else:
results = __salt__["network.connect"](host, port, **kwargs)
ret["result"] = results["result"]
ret["comment"] = results["comment"]
return ret
Zerion Mini Shell 1.0