X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fdashboarder%2Fbackends%2Fgrafana.py;h=a1cbcba3545446d836437196a47a13d3e410ddd7;hb=517bd7ef3b32561a6a3dd25ca383bcd40da263e6;hp=eeb5e7541fa58966bbf5e7c3148fe4a87089aed0;hpb=53c6b3cd7ede1ffe1927b08b727e9e881d433a33;p=osm%2FMON.git diff --git a/osm_mon/dashboarder/backends/grafana.py b/osm_mon/dashboarder/backends/grafana.py index eeb5e75..a1cbcba 100644 --- a/osm_mon/dashboarder/backends/grafana.py +++ b/osm_mon/dashboarder/backends/grafana.py @@ -207,6 +207,7 @@ class GrafanaBackend: requests.request("POST", self.url + "/api/folders/{}/permissions".format(folder_name), json=permission_data, headers=self.headers) + # delete user from grafana def delete_grafana_users(self, user_name): # Get user id response_id = requests.request("GET", self.url + "/api/users/lookup?loginOrEmail={}".format(user_name), @@ -220,6 +221,7 @@ class GrafanaBackend: log.info("User %s deleted in Grafana", user_name) return response + # delete team from grafana def delete_grafana_team(self, project_name): # Delete Grafana folder requests.request("DELETE", self.url + "/api/folders/{}".format(project_name), @@ -232,6 +234,7 @@ class GrafanaBackend: log.info("Team %s deleted in Grafana", project_name) return response + # update grafana team def update_grafana_teams(self, project_new_name, project_old_name): team_obj = requests.request("GET", self.url + "/api/teams/search?name={}".format(project_old_name), headers=self.headers) @@ -240,3 +243,18 @@ class GrafanaBackend: response = requests.request("PUT", self.url + "/api/teams/{}".format(team_id), json=data, headers=self.headers) log.info("Grafana team updated %s", response.text) return response + + # remove member from grafana team + def remove_grafana_team_member(self, user_name, project_data): + # Get user id + response_id = requests.request("GET", self.url + "/api/users/lookup?loginOrEmail={}".format(user_name), + headers=self.headers) + user_id = json.loads(response_id.text)["id"] + for project in project_data: + # Get team id + team_obj = requests.request("GET", self.url + "/api/teams/search?name={}".format(project['project']), + headers=self.headers) + team_id = json.loads(team_obj.text)["teams"][0]["id"] + response = requests.request("DELETE", self.url + "/api/teams/{}/members/{}".format(team_id, user_id), + headers=self.headers) + return response