Newer
Older
from grafana_backup.commons import to_python2_and_3_compatible_string
from grafana_backup.dashboardApi import get_folder_id, create_dashboard
def main(args, settings, file_path):
grafana_url = settings.get('GRAFANA_URL')
http_post_headers = settings.get('HTTP_POST_HEADERS')
verify_ssl = settings.get('VERIFY_SSL')
client_cert = settings.get('CLIENT_CERT')
with open(file_path, 'r') as f:
data = f.read()
content = json.loads(data)
content['dashboard']['id'] = None
payload = {
'dashboard': content['dashboard'],
'folderId': get_folder_id(content, grafana_url, http_post_headers, verify_ssl, client_cert, debug),
result = create_dashboard(json.dumps(payload), grafana_url, http_post_headers, verify_ssl, client_cert, debug)
dashboard_title = to_python2_and_3_compatible_string(content['dashboard'].get('title', ''))
print("create dashboard {0} response status: {1}, msg: {2} \n".format(dashboard_title, result[0], result[1]))