blob: 750dc46de8a0184fdbae88430bf92b100805d682 (
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
28
29
30
31
32
|
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from functools import partial
from ansible import errors
from ansible.module_utils.common.text import formatters
def resolve_grafana_url(url, config):
try:
protocol = config.get('protocol', 'http')
addr = config.get('http_addr', 'localhost')
port = config.get('http_port', '3000')
serve_from_sub_path = config.get('serve_from_sub_path', False)
if not serve_from_sub_path:
return "%s://%s:%s" % (protocol, addr, port)
return url.replace('%(protocol)s', str(protocol)).replace('%(domain)s', str(addr)).replace('%(http_port)s', str(port))
except Exception as e:
raise errors.AnsibleFilterError("resolve_grafana_url(): %s" % str(e))
class FilterModule(object):
filter_map = {
'resolve_grafana_url': resolve_grafana_url,
}
def filters(self):
return self.filter_map
|