mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-02-04 07:51:50 +00:00
fix indentation, documentation and other sanity test findings
This commit is contained in:
parent
e2a32861aa
commit
c2412f2fe5
4 changed files with 39 additions and 22 deletions
|
|
@ -40,6 +40,7 @@ action_groups:
|
|||
- keycloak_realm
|
||||
- keycloak_realm_key
|
||||
- keycloak_realm_keys_metadata_info
|
||||
- keycloak_realm_localization
|
||||
- keycloak_realm_rolemapping
|
||||
- keycloak_role
|
||||
- keycloak_user
|
||||
|
|
|
|||
|
|
@ -617,7 +617,7 @@ def get_localization_values(self, locale, realm="master"):
|
|||
return self._request_and_deserialize(realm_url, method='GET')
|
||||
except Exception as e:
|
||||
self.fail_request(e, msg='Could not read localization overrides for realm %s, locale %s: %s' % (realm, locale, str(e)),
|
||||
exception=traceback.format_exc())
|
||||
exception=traceback.format_exc())
|
||||
|
||||
def set_localization_value(self, locale, key, value, realm="master"):
|
||||
"""
|
||||
|
|
@ -644,7 +644,7 @@ def set_localization_value(self, locale, key, value, realm="master"):
|
|||
return self._request(realm_url, method='PUT', data=to_native(value), headers=headers)
|
||||
except Exception as e:
|
||||
self.fail_request(e, msg='Could not set localization value in realm %s, locale %s: %s=%s: %s' % (realm, locale, key, value, str(e)),
|
||||
exception=traceback.format_exc())
|
||||
exception=traceback.format_exc())
|
||||
|
||||
def delete_localization_value(self, locale, key, realm="master"):
|
||||
"""
|
||||
|
|
@ -667,7 +667,7 @@ def delete_localization_value(self, locale, key, realm="master"):
|
|||
return self._request(realm_url, method='DELETE')
|
||||
except Exception as e:
|
||||
self.fail_request(e, msg='Could not delete localization value in realm %s, locale %s, key %s: %s' % (realm, locale, key, str(e)),
|
||||
exception=traceback.format_exc())
|
||||
exception=traceback.format_exc())
|
||||
|
||||
def get_clients(self, realm: str = "master", filter=None):
|
||||
"""Obtains client representations for clients in a realm
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Python
|
||||
#!/usr/bin/python
|
||||
# !/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# This Ansible module manages realm localization overrides in Keycloak.
|
||||
|
|
@ -13,8 +13,7 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: keycloak_realm_localization
|
||||
|
||||
short_description: Manage Keycloak realm localization overrides via the Keycloak API
|
||||
|
|
@ -23,7 +22,7 @@ version_added: 10.5.0
|
|||
|
||||
description:
|
||||
- Manage per-locale message overrides for a Keycloak realm using the Keycloak Admin REST API.
|
||||
Requires access via OpenID Connect; the connecting user/client must have sufficient privileges.
|
||||
- Requires access via OpenID Connect; the connecting user/client must have sufficient privileges.
|
||||
- The names of module options are snake_cased versions of the names found in the Keycloak API.
|
||||
|
||||
attributes:
|
||||
|
|
@ -46,16 +45,16 @@ options:
|
|||
state:
|
||||
description:
|
||||
- Desired state of localization overrides for the given locale.
|
||||
- On C(present), the set of overrides for the locale will be made to match C(overrides) exactly:
|
||||
keys not listed in C(overrides) will be removed, and listed keys will be created or updated.
|
||||
- On C(present), the set of overrides for the locale will be made to match C(overrides) exactly
|
||||
- keys not listed in C(overrides) will be removed, and listed keys will be created or updated.
|
||||
- On C(absent), all overrides for the locale will be removed.
|
||||
type: str
|
||||
choices: [present, absent]
|
||||
choices: ['present', 'absent']
|
||||
default: present
|
||||
overrides:
|
||||
description:
|
||||
- List of overrides to ensure for the locale when C(state=present). Each item is a mapping with
|
||||
the message C(key) and its C(value).
|
||||
- the message C(key) and its C(value).
|
||||
- Ignored when C(state=absent).
|
||||
type: list
|
||||
elements: dict
|
||||
|
|
@ -74,13 +73,14 @@ options:
|
|||
|
||||
extends_documentation_fragment:
|
||||
- community.general.keycloak
|
||||
- community.general.keycloak.actiongroup_keycloak
|
||||
- community.general.attributes
|
||||
|
||||
author:
|
||||
- Jakub Danek (@danekja)
|
||||
'''
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Replace all overrides for locale "en" (credentials auth)
|
||||
community.general.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
|
|
@ -123,7 +123,7 @@ EXAMPLES = '''
|
|||
state: absent
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Dry run: see what would change for locale "en"
|
||||
- name: Dry run - see what would change for locale "en"
|
||||
community.general.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
|
|
@ -138,9 +138,9 @@ EXAMPLES = '''
|
|||
value: "Hello again"
|
||||
check_mode: true
|
||||
delegate_to: localhost
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = r"""
|
||||
msg:
|
||||
description: Human-readable message about what action was taken.
|
||||
returned: always
|
||||
|
|
@ -173,17 +173,29 @@ diff:
|
|||
type: dict
|
||||
contains:
|
||||
before:
|
||||
description: State of localization overrides before execution
|
||||
type: dict
|
||||
sample:
|
||||
- key: greeting
|
||||
value: Hello
|
||||
- key: farewell
|
||||
value: Bye
|
||||
after:
|
||||
description: State of localization overrides after execution
|
||||
type: dict
|
||||
'''
|
||||
|
||||
sample:
|
||||
- key: greeting
|
||||
value: Hello
|
||||
- key: farewell
|
||||
value: Bye
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.identity.keycloak.keycloak import KeycloakAPI, \
|
||||
keycloak_argument_spec, get_token, KeycloakError
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from copy import deepcopy
|
||||
|
||||
|
||||
def _normalize_overrides_from_api(current):
|
||||
"""
|
||||
Accept either:
|
||||
|
|
@ -218,7 +230,7 @@ def main():
|
|||
|
||||
# Describe a single override record
|
||||
overrides_spec = dict(
|
||||
key=dict(type='str', required=True),
|
||||
key=dict(type='str', no_log=False, required=True),
|
||||
value=dict(type='str', required=True),
|
||||
)
|
||||
|
||||
|
|
@ -340,7 +352,12 @@ def main():
|
|||
result['msg'] = "Locale %s overrides are in sync." % (locale)
|
||||
|
||||
# For accurate end_state, read back from API unless we are in check_mode
|
||||
final_overrides = _normalize_overrides_from_api(kc.get_localization_values(locale, parent_id) or {}) if not module.check_mode else changeset['overrides']
|
||||
if not module.check_mode:
|
||||
final_overrides = _normalize_overrides_from_api(kc.get_localization_values(locale, parent_id) or {})
|
||||
|
||||
else:
|
||||
final_overrides = ['overrides']
|
||||
|
||||
result['end_state'] = {'locale': locale, 'overrides': final_overrides}
|
||||
|
||||
elif state == 'absent':
|
||||
|
|
@ -367,7 +384,6 @@ def main():
|
|||
|
||||
result['end_state'] = changeset
|
||||
|
||||
|
||||
module.exit_json(**result)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -259,4 +259,4 @@ class TestKeycloakRealmLocalization(ModuleTestCase):
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
unittest.main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue