-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathimport_dashboard_from_file.py
33 lines (27 loc) · 1.38 KB
/
import_dashboard_from_file.py
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
33
import argparse
from utils import clone_dashboard
from utils.load_dashboard import load_dashboard
from utils.client import Client
import json
def get_client(config_file,pat_token):
with open(config_file, "r") as r:
config = json.loads(r.read())
targets = []
for target in config["targets"]:
print("Token ->("+pat_token+")")
client = Client(target["url"], pat_token, permissions=target["permissions"])
if "endpoint_id" in target:
client.endpoint_id = target["endpoint_id"]
if "sql_database_name" in target:
client.sql_database_name = target["sql_database_name"]
targets.append(client)
return targets,config["dashboard_id"], config["dashboard_folder"]
parser = argparse.ArgumentParser()
parser.add_argument("--config_file", default="config_import.json", required=False,
help="Configuration file containing credential and dashboard to clone")
parser.add_argument("--pat_token", required=True,
help="Personal Access Token to for your workspace")
args = parser.parse_args()
target_clients, dashboard_id_to_load,dashboard_folder = get_client(args.config_file, args.pat_token)
workspace_state = {}
load_dashboard(target_clients[0], dashboard_id_to_load, workspace_state, dashboard_folder)