Newer
Older
from grafana_backup.dashboardApi import search_snapshot, delete_snapshot
from grafana_backup.commons import print_horizontal_line
def main(args, settings):
grafana_url = settings.get('GRAFANA_URL')
http_get_headers = settings.get('HTTP_GET_HEADERS')
verify_ssl = settings.get('VERIFY_SSL')
client_cert = settings.get('CLIENT_CERT')
debug = settings.get('DEBUG')
pretty_print = settings.get('PRETTY_PRINT')
get_all_snapshots_and_delete(grafana_url, http_get_headers, verify_ssl, client_cert, debug, pretty_print)
print_horizontal_line()
def get_all_snapshots_and_delete(grafana_url, http_get_headers, verify_ssl, client_cert, debug, pretty_print):
status_code_and_content = search_snapshot(grafana_url, http_get_headers, verify_ssl, client_cert, debug)
if status_code_and_content[0] == 200:
snapshots = status_code_and_content[1]
print("There are {0} snapshots:".format(len(snapshots)))
for snapshot in snapshots:
print(snapshot)
status = delete_snapshot(snapshot['key'], grafana_url, http_get_headers)
if status == 200:
print("deleted snapshot {0}".format(snapshot['name']))
else:
print("failed to delete snapshot {0}, with {1}".format(snapshot['name'], status))
else:
print("query snapshot failed, status: {0}, msg: {1}".format(status_code_and_content[0],
status_code_and_content[1]))