mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[PR #8403/572caeaa backport][stable-8] keycloak_client: avoid TypeError if result["attributes"]
is a list (#8426)
keycloak_client: avoid TypeError if `result["attributes"]` is a list (#8403)
* fix(keycloak_client): avoid TypeError if attributes is a list
As sanitize_cr might be executed after normalise_cr, result['attributes'] can be of type list and we
run into:
TypeError: list indices must be integers or slices, not str
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 572caeaa39
)
Co-authored-by: Thomas Bach <63091663+thomasbach-dev@users.noreply.github.com>
This commit is contained in:
parent
2ea8850f2d
commit
4c6d439a13
2 changed files with 5 additions and 2 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- keycloak_client - fix TypeError when sanitizing the ``saml.signing.private.key`` attribute in the module's diff or state output. The ``sanitize_cr`` function expected a dict where in some cases a list might occur (https://github.com/ansible-collections/community.general/pull/8403).
|
|
@ -775,8 +775,9 @@ def sanitize_cr(clientrep):
|
||||||
if 'secret' in result:
|
if 'secret' in result:
|
||||||
result['secret'] = 'no_log'
|
result['secret'] = 'no_log'
|
||||||
if 'attributes' in result:
|
if 'attributes' in result:
|
||||||
if 'saml.signing.private.key' in result['attributes']:
|
attributes = result['attributes']
|
||||||
result['attributes']['saml.signing.private.key'] = 'no_log'
|
if isinstance(attributes, dict) and 'saml.signing.private.key' in attributes:
|
||||||
|
attributes['saml.signing.private.key'] = 'no_log'
|
||||||
return normalise_cr(result)
|
return normalise_cr(result)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue