Skip to content

Commit

Permalink
Merge pull request #399 from adawalli/list_group_aliases
Browse files Browse the repository at this point in the history
Add support for Listing Group Aliases
  • Loading branch information
TerryHowe authored Feb 17, 2024
2 parents c4ea072 + b955382 commit ff3bd9c
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
54 changes: 54 additions & 0 deletions ansible/modules/hashivault/hashivault_identity_group_alias_list.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env python
from ansible.module_utils.hashivault import hashivault_argspec
from ansible.module_utils.hashivault import hashivault_auth_client
from ansible.module_utils.hashivault import hashivault_init
from ansible.module_utils.hashivault import hashiwrapper

ANSIBLE_METADATA = {'status': ['stableinterface'], 'supported_by': 'community', 'version': '1.1'}
DOCUMENTATION = '''
---
module: hashivault_identity_group_alias_list
version_added: "4.7.1"
short_description: Hashicorp Vault group alias list
description:
- Module to list group aliases from Hashicorp Vault.
options:
mount_point:
description:
- mount point for identity secrets engine
default: identity
extends_documentation_fragment: hashivault
'''
EXAMPLES = '''
---
- hosts: localhost
tasks:
- hashivault_identity_group_alias_list:
register: 'vault_group_alias_list'
- debug: msg="Group Aliases are {{vault_group_alias_list.keys}}"
'''


def main():
argspec = hashivault_argspec()
argspec['mount_point'] = dict(required=False, type='str', default='identity')
argspec['method'] = dict(required=False, type='str', default='GET')
module = hashivault_init(argspec)
result = hashivault_identity_group_alias_list(module.params)
if result.get('failed'):
module.fail_json(**result)
else:
module.exit_json(**result)


@hashiwrapper
def hashivault_identity_group_alias_list(params):
client = hashivault_auth_client(params)
result = client.secrets.identity.list_group_aliases(mount_point=params.get('mount_point'), method=params.get('method').upper())
if isinstance(result, dict):
result = result.get('data', result)
return {'changed': False, 'group_aliases': result}


if __name__ == '__main__':
main()
7 changes: 7 additions & 0 deletions functional/test_identity_group.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,13 @@
register: vault_identity_alias
- assert: { that: "vault_identity_alias is changed" }
- assert: { that: "vault_identity_alias.rc == 0" }

- hashivault_identity_group_alias_list:
register: vault_identity_alias_list
- assert:
that:
- vault_identity_alias_list.rc == 0
- "vault_identity_alias_list.group_aliases['keys'] | length > 0"

- hashivault_identity_group_alias:
name: "extest alias"
Expand Down

0 comments on commit ff3bd9c

Please sign in to comment.