mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
* Update influxdb_user.py
Fixed Multiple No Privileges
* Update influxdb_user.py
Fixed line spaces
* Update influxdb_user.py
Fixed whitespace
* Create 2499-influxdb_user-fix-multiple-no-privileges.yml
Added changelog
(cherry picked from commit ea200c9d8c
)
Co-authored-by: sgalea87 <43749726+sgalea87@users.noreply.github.com>
This commit is contained in:
parent
8ed5beb978
commit
64248acce6
2 changed files with 9 additions and 7 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- influxdb_user - fix bug where an influxdb user has no privileges for 2 or more databases (https://github.com/ansible-collections/community.general/pull/2499).
|
|
@ -166,16 +166,16 @@ def set_user_grants(module, client, user_name, grants):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
current_grants = client.get_list_privileges(user_name)
|
current_grants = client.get_list_privileges(user_name)
|
||||||
|
parsed_grants = []
|
||||||
# Fix privileges wording
|
# Fix privileges wording
|
||||||
for i, v in enumerate(current_grants):
|
for i, v in enumerate(current_grants):
|
||||||
if v['privilege'] == 'ALL PRIVILEGES':
|
if v['privilege'] != 'NO PRIVILEGES':
|
||||||
v['privilege'] = 'ALL'
|
if v['privilege'] == 'ALL PRIVILEGES':
|
||||||
current_grants[i] = v
|
v['privilege'] = 'ALL'
|
||||||
elif v['privilege'] == 'NO PRIVILEGES':
|
parsed_grants.add(v)
|
||||||
del(current_grants[i])
|
|
||||||
|
|
||||||
# check if the current grants are included in the desired ones
|
# check if the current grants are included in the desired ones
|
||||||
for current_grant in current_grants:
|
for current_grant in parsed_grants:
|
||||||
if current_grant not in grants:
|
if current_grant not in grants:
|
||||||
if not module.check_mode:
|
if not module.check_mode:
|
||||||
client.revoke_privilege(current_grant['privilege'],
|
client.revoke_privilege(current_grant['privilege'],
|
||||||
|
@ -185,7 +185,7 @@ def set_user_grants(module, client, user_name, grants):
|
||||||
|
|
||||||
# check if the desired grants are included in the current ones
|
# check if the desired grants are included in the current ones
|
||||||
for grant in grants:
|
for grant in grants:
|
||||||
if grant not in current_grants:
|
if grant not in parsed_grants:
|
||||||
if not module.check_mode:
|
if not module.check_mode:
|
||||||
client.grant_privilege(grant['privilege'],
|
client.grant_privilege(grant['privilege'],
|
||||||
grant['database'],
|
grant['database'],
|
||||||
|
|
Loading…
Reference in a new issue