summaryrefslogtreecommitdiffstats
path: root/awx_collection/plugins/modules/controller_meta.py
blob: d0812c9753f35976e7817b9ef727c070fa6fc3bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/python
# coding: utf-8 -*-

# (c) 2020, Ansible by Red Hat, Inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function

__metaclass__ = type


ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ['preview'], 'supported_by': 'community'}

DOCUMENTATION = '''
---
module: controller_meta
author: "Alan Rominger (@alancoding)"
short_description: Returns metadata about the collection this module lives in.
description:
    - Allows a user to find out what collection this module exists in.
    - This takes common module parameters, but does nothing with them.
options: {}
extends_documentation_fragment: awx.awx.auth
'''


RETURN = '''
prefix:
    description: Collection namespace and name in the namespace.name format
    returned: success
    sample: awx.awx
    type: str
name:
    description: Collection name
    returned: success
    sample: awx
    type: str
namespace:
    description: Collection namespace
    returned: success
    sample: awx
    type: str
version:
    description: Version of the collection
    returned: success
    sample: 0.0.1-devel
    type: str
'''


EXAMPLES = '''
- controller_meta:
  register: result

- name: Show details about the collection
  debug: var=result

- name: Load the UI setting without hard-coding the collection name
  debug:
    msg: "{{ lookup(result.prefix + '.controller_api', 'settings/ui') }}"
'''


from ..module_utils.controller_api import ControllerAPIModule


def main():
    module = ControllerAPIModule(argument_spec={})
    namespace = {'awx': 'awx', 'controller': 'ansible'}.get(module._COLLECTION_TYPE, 'unknown')
    namespace_name = '{0}.{1}'.format(namespace, module._COLLECTION_TYPE)
    module.exit_json(prefix=namespace_name, name=module._COLLECTION_TYPE, namespace=namespace, version=module._COLLECTION_VERSION)


if __name__ == '__main__':
    main()