@@ -9,23 +9,47 @@ class Vultr(object):
99
1010 def __init__ (self , api_key : Optional [str ] = None ):
1111 """
12- :param str api_key: Vultr API Key or VULTR_API_KEY Environment Variable
12+ :param api_key: Vultr API Key or ` VULTR_API_KEY` Environment Variable
1313 """
1414 self .api_key = api_key or os .getenv ("VULTR_API_KEY" )
15+ """Provide the API key here or with the `VULTR_API_KEY` environment variable"""
1516 self ._session = requests .session ()
1617 if self .api_key :
1718 self ._session .headers .update ({"Authorization" : f"Bearer { self .api_key } " })
1819
1920 def get (self , url : str , params : Optional [dict ] = None ):
21+ """
22+ GET Data
23+ :param url: Request URL. Example `/instances`
24+ :param params: Query Parameters
25+ :return: Response Data
26+ """
2027 return self ._get (f"{ self .url } /{ url .lstrip ('/' )} " , params )
2128
2229 def post (self , url : str , ** kwargs ):
30+ """
31+ POST Data
32+ :param url: Request URL. Example `/instances`
33+ :param kwargs: Request Data Keyword Arguments
34+ :return: Response Data
35+ """
2336 return self ._post (f"{ self .url } /{ url .lstrip ('/' )} " , kwargs )
2437
2538 def patch (self , url : str , ** kwargs ):
39+ """
40+ PATCH Data
41+ :param url: Request URL. Example `/instances/{resource_id}`
42+ :param kwargs: Request Data Keyword Arguments
43+ :return: Response Data
44+ """
2645 return self ._patch (f"{ self .url } /{ url .lstrip ('/' )} " , kwargs )
2746
2847 def delete (self , url : str ):
48+ """
49+ DELETE a Resource
50+ :param url: Request URL. Example `/instances/{resource_id}`
51+ :return: None
52+ """
2953 return self ._delete (f"{ self .url } /{ url .lstrip ('/' )} " )
3054
3155 def list_os (self , params : Optional [dict ] = None ):
@@ -193,13 +217,16 @@ def _get_obj_key(obj, key="id"):
193217
194218
195219class VultrException (Exception ):
220+ """ Exception class for all Vultr error responses. """
196221 def __init__ (self , response : requests .Response ):
197222 try :
198223 data = response .json ()
199224 error = data .get ("error" , response .text )
200225 except ValueError :
201226 error = response .text
202227 status = response .status_code
203- self .error = error
204- self .status = status
228+ self .error : str = error
229+ """Error Message returned from the API"""
230+ self .status : int = status
231+ """Response Status Code"""
205232 super ().__init__ (f"Error { self .status } : { self .error } " )
0 commit comments