From d3980d7f646bc35950f6b16979f6ab3598b4b3e8 Mon Sep 17 00:00:00 2001 From: Jan Gosmann Date: Tue, 25 Oct 2022 20:20:46 +0200 Subject: [PATCH] Support alertmanager Grafana datasource --- plugins/modules/grafana_datasource.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/plugins/modules/grafana_datasource.py b/plugins/modules/grafana_datasource.py index 1ec36958..8ec95a20 100644 --- a/plugins/modules/grafana_datasource.py +++ b/plugins/modules/grafana_datasource.py @@ -41,6 +41,7 @@ - camptocamp-prometheus-alertmanager-datasource - loki - redis-datasource + - alertmanager type: str ds_url: description: @@ -209,6 +210,14 @@ - Use trends or not for zabbix datasource type. type: bool default: False + alertmanager_implementation: + description: + - The implementation to set for the alertmanager datasource type. + choices: + - mimir + - cortex + - prometheus + type: str aws_auth_type: description: - Type for AWS authentication for CloudWatch datasource type (authType of grafana @@ -590,6 +599,9 @@ def get_datasource_payload(data): json_data['tlsSkipVerify'] = True # datasource type related parameters + if data['ds_type'] == 'alertmanager': + json_data['implementation'] = data['alertmanager_implementation'] + if data['ds_type'] == 'elasticsearch': json_data['maxConcurrentShardRequests'] = data['max_concurrent_shard_requests'] @@ -730,7 +742,8 @@ def setup_module_object(): 'camptocamp-prometheus-alertmanager-datasource', 'sni-thruk-datasource', 'redis-datasource', - 'loki']), + 'loki', + 'alertmanager']), ds_url=dict(type='str'), access=dict(default='proxy', choices=['proxy', 'direct']), database=dict(type='str', default=""), @@ -756,6 +769,7 @@ def setup_module_object(): tsdb_resolution=dict(type='str', default='second', choices=['second', 'millisecond']), sslmode=dict(default='disable', choices=['disable', 'require', 'verify-ca', 'verify-full']), trends=dict(default=False, type='bool'), + alertmanager_implementation=dict(choices=['mimir', 'cortex', 'prometheus']), aws_auth_type=dict(default='keys', choices=['keys', 'credentials', 'arn', 'default']), aws_default_region=dict(default='us-east-1', choices=['ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-south-1', 'ca-central-1',