D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
saltstack
/
salt
/
lib
/
python3.10
/
site-packages
/
salt
/
states
/
Filename :
rabbitmq_vhost.py
back
Copy
""" Manage RabbitMQ Virtual Hosts ============================= Example: .. code-block:: yaml virtual_host: rabbitmq_vhost.present: - user: rabbit_user - conf: .* - write: .* - read: .* """ import logging import salt.utils.path log = logging.getLogger(__name__) def __virtual__(): """ Only load if RabbitMQ is installed. """ if salt.utils.path.which("rabbitmqctl"): return True return (False, "Command not found: rabbitmqctl") def present(name): """ Ensure the RabbitMQ VHost exists. name VHost name user Initial user permission to set on the VHost, if present .. deprecated:: 2015.8.0 owner Initial owner permission to set on the VHost, if present .. deprecated:: 2015.8.0 conf Initial conf string to apply to the VHost and user. Defaults to .* .. deprecated:: 2015.8.0 write Initial write permissions to apply to the VHost and user. Defaults to .* .. deprecated:: 2015.8.0 read Initial read permissions to apply to the VHost and user. Defaults to .* .. deprecated:: 2015.8.0 runas Name of the user to run the command .. deprecated:: 2015.8.0 """ ret = {"name": name, "result": True, "comment": "", "changes": {}} vhost_exists = __salt__["rabbitmq.vhost_exists"](name) if vhost_exists: ret["comment"] = "Virtual Host '{}' already exists.".format(name) return ret if not __opts__["test"]: result = __salt__["rabbitmq.add_vhost"](name) if "Error" in result: ret["result"] = False ret["comment"] = result["Error"] return ret elif "Added" in result: ret["comment"] = result["Added"] # If we've reached this far before returning, we have changes. ret["changes"] = {"old": "", "new": name} if __opts__["test"]: ret["result"] = None ret["comment"] = "Virtual Host '{}' will be created.".format(name) return ret def absent(name): """ Ensure the RabbitMQ Virtual Host is absent name Name of the Virtual Host to remove runas User to run the command .. deprecated:: 2015.8.0 """ ret = {"name": name, "result": True, "comment": "", "changes": {}} vhost_exists = __salt__["rabbitmq.vhost_exists"](name) if not vhost_exists: ret["comment"] = "Virtual Host '{}' is not present.".format(name) return ret if not __opts__["test"]: result = __salt__["rabbitmq.delete_vhost"](name) if "Error" in result: ret["result"] = False ret["comment"] = result["Error"] return ret elif "Deleted" in result: ret["comment"] = result["Deleted"] # If we've reached this far before returning, we have changes. ret["changes"] = {"new": "", "old": name} if __opts__["test"]: ret["result"] = None ret["comment"] = "Virtual Host '{}' will be removed.".format(name) return ret