blob: d9c864ab5b8d7d4281db306f2fd8160b8be1c429 (
plain) (
blame)
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
|
#!/usr/bin/python
import json
from ansible.errors import AnsibleActionFail
from ansible.plugins.action import ActionBase
from ansible_collections.tensin.infra.plugins.module_utils import file
class ActionModule(ActionBase):
def run(self, tmp=None, task_vars=None):
result = super().run(tmp, task_vars)
path = self._task.args['path']
default = self._task.args.get('default')
if default is not None:
default = json.dumps(default)
content = file.read_file(self, path, task_vars, default=default)
try:
content = json.loads(content)
except json.JSONDecodeError as e:
raise AnsibleActionFail(f'Failed to parse JSON at {path}') from e
result['content'] = content
return result
|