@@ -148,8 +148,7 @@ def list_device_group(self, device_group):
148148 filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
149149 return filtered_response
150150
151- # create a new nebula delete_device_group, requires the app name to create and a complete dict of the config values
152- # for it
151+ # create a new nebula device_group, requires the app name to create and a complete dict of the config values for it
153152 def create_device_group (self , device_group , config ):
154153 url = self .host + "/api/" + self .API_VERSION + "/device_groups/" + device_group
155154 payload = json .dumps (config )
@@ -158,7 +157,7 @@ def create_device_group(self, device_group, config):
158157 filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
159158 return filtered_response
160159
161- # delete an existing nebula delete_device_group , no confirmation required in SDK so be careful
160+ # delete an existing nebula device_group , no confirmation required in SDK so be careful
162161 def delete_device_group (self , device_group ):
163162 url = self .host + "/api/" + self .API_VERSION + "/device_groups/" + device_group
164163 headers = self .headers
@@ -192,16 +191,52 @@ def list_reports(self, page_size=10, hostname=None, device_group=None, report_cr
192191 filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
193192 return filtered_response
194193
195- # TODO - list users
196-
197- # TODO - get user info
198-
199- # TODO - delete a user
194+ # list all users
195+ def list_users (self ):
196+ url = self .host + "/api/" + self .API_VERSION + "/users"
197+ headers = self .headers
198+ response = requests .request ("GET" , url , headers = headers , timeout = self .request_timeout )
199+ filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
200+ return filtered_response
200201
201- # TODO - update a user
202+ # list a user configuration
203+ def list_user (self , user ):
204+ url = self .host + "/api/" + self .API_VERSION + "/users/" + user
205+ headers = self .headers
206+ response = requests .request ("GET" , url , headers = headers , timeout = self .request_timeout )
207+ filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
208+ return filtered_response
202209
203- # TODO - refresh a user token
210+ # delete an existing nebula user, no confirmation required in SDK so be careful
211+ def delete_user (self , user ):
212+ url = self .host + "/api/" + self .API_VERSION + "/users/" + user
213+ headers = self .headers
214+ response = requests .request ("DELETE" , url , headers = headers , timeout = self .request_timeout )
215+ filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
216+ return filtered_response
204217
205- # TODO - create new user
218+ # update a user pass and\or bearer token
219+ def update_user (self , user , config ):
220+ url = self .host + "/api/" + self .API_VERSION + "/users/" + user + "/update"
221+ payload = json .dumps (config )
222+ headers = self .headers
223+ response = requests .request ("PUT" , url , data = payload , headers = headers , timeout = self .request_timeout )
224+ filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
225+ return filtered_response
206226
227+ # refresh a token for a user
228+ def refresh_user_token (self , user ):
229+ url = self .host + "/api/" + self .API_VERSION + "/users/" + user + "/refresh"
230+ headers = self .headers
231+ response = requests .request ("POST" , url , headers = headers , timeout = self .request_timeout )
232+ filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
233+ return filtered_response
207234
235+ # create a new nebula user, requires the user name to create and a complete dict of the config values for it
236+ def create_user (self , user , config ):
237+ url = self .host + "/api/" + self .API_VERSION + "/users/" + user
238+ payload = json .dumps (config )
239+ headers = self .headers
240+ response = requests .request ("POST" , url , data = payload , headers = headers , timeout = self .request_timeout )
241+ filtered_response = {"status_code" : response .status_code , "reply" : response .json ()}
242+ return filtered_response
0 commit comments