2021-09-24 11:25:12 +00:00
import salt . exceptions
2021-09-24 12:04:48 +00:00
def root_password ( name , password ) :
2021-09-24 11:25:12 +00:00
"""
Set the mysql / mariadb root password
password
the password to user for root
"""
ret = {
2021-09-24 12:04:48 +00:00
" name " : name ,
2021-09-24 11:25:12 +00:00
" changes " : { } ,
" result " : False ,
" comment " : " "
}
2021-09-24 12:04:48 +00:00
if __salt__ [ " mysql.check_credentials " ] ( " root " , password ) :
2021-09-24 11:25:12 +00:00
ret [ " comment " ] = " Password is in correct state "
ret [ " result " ] = True
return ret
2021-09-24 12:04:48 +00:00
result = __salt__ [ " mysql.set_root_password " ] ( password )
2021-09-24 11:25:12 +00:00
if not result [ " result " ] :
ret [ " comment " ] = result [ " err " ]
return ret
ret [ " changes " ] . update ( { " root password " : { " old " : " ###### " , " new " : " ****** " } } )
ret [ " result " ] = True
return ret
2021-09-25 12:09:55 +00:00
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