tlu/salt/modules/_states/mysql.py
Jonas Forsberg 0a1dbb5971 .
2021-09-25 14:09:55 +02:00

72 lines
2.2 KiB
Python

import salt.exceptions
def root_password(name, password):
"""
Set the mysql/mariadb root password
password
the password to user for root
"""
ret = {
"name": name,
"changes": {},
"result": False,
"comment": ""
}
if __salt__["mysql.check_credentials"]("root", password):
ret["comment"]="Password is in correct state"
ret["result"] = True
return ret
result = __salt__["mysql.set_root_password"](password)
if not result["result"]:
ret["comment"] = result["err"]
return ret
ret["changes"].update({"root password": {"old": "######", "new": "******"}})
ret["result"]=True
return ret
def user(name, host, password):
"""
Set the mysql/mariadb root password
password
the password to user for root
"""
ret = {
"name": name,
"changes": {},
"result": False,
"comment": ""
}
#check if user@host exists
result = __salt__["mysql.execute"]("root", __pillar__['mysql']['root_password'],f'SELECT User, Host FROM mysql.user WHERE User="{name}" AND Host="{host}";')
if not result["result"]:
ret["comment"] = result["err"]
return ret
if "out" in result:
#User exists check password
if __salt__["mysql.check_credentials"](name, password):
ret["comment"]=f"{name}@{host} is in correct state"
ret["result"] = True
return ret
result = __salt__["mysql.execute"]("root", __pillar__['mysql']['root_password'],f'ALTER USER "{name}"@"{host}" IDENTIFIED BY "{password}";')
if not result["result"]:
ret["comment"] = result["err"]
return ret
ret["changes"].update({"Password Updated": f"{name}@{host}"})
ret["result"]=True
return ret
#Create user
result = __salt__["mysql.execute"]("root", __pillar__['mysql']['root_password'],f'CREATE USER "{name}"@"{host}" IDENTIFIED BY "{password}";')
if not result["result"]:
ret["comment"] = result["err"]
return ret
ret["changes"].update({"Created user": f"{name}@{host}"})
ret["result"]=True
return ret