@@ -85,9 +85,11 @@ def _load_credentials(self):
8585 if self .access_key_id is not None and self .secret_access_key is not None :
8686 return
8787
88- # check if user provided custom path for credentials extraction
88+ # check if user provided custom path for credentials extraction
89+ if self .custom_credentials_path is None and "JP_DRIVES_CUSTOM_CREDENTIALS_PATH" in os .environ :
90+ self .custom_credentials_path = os .environ ["JP_DRIVES_CUSTOM_CREDENTIALS_PATH" ]
8991 if self .custom_credentials_path is not None :
90- self .access_key_id , self .secret_access_key , self .session_token = self ._extract_credentials_from_file (self .custom_credentials_path )
92+ self .provider , self . access_key_id , self .secret_access_key , self .session_token = self ._extract_credentials_from_file (self .custom_credentials_path )
9193 return
9294
9395 # if not, try to load credentials from AWS CLI
@@ -96,25 +98,31 @@ def _load_credentials(self):
9698 self .access_key_id , self .secret_access_key , self .session_token = self ._extract_credentials_from_file (aws_credentials_path )
9799 return
98100
99- # for dev purposes, use environment variables
100- if os .environ ["JP_AWS_ACCESS_KEY_ID" ] is not None and os .environ ["JP_AWS_SECRET_ACCESS_KEY" ] is not None :
101- self .access_key_id = os .environ ["JP_AWS_ACCESS_KEY_ID" ]
102- self .secret_access_key = os .environ ["JP_AWS_SECRET_ACCESS_KEY" ]
101+ # as a last resort, use environment variables
102+ if "JP_DRIVES_ACCESS_KEY_ID" in os .environ and "JP_DRIVES_SECRET_ACCESS_KEY" in os .environ :
103+ self .access_key_id = os .environ ["JP_DRIVES_ACCESS_KEY_ID" ]
104+ self .secret_access_key = os .environ ["JP_DRIVES_SECRET_ACCESS_KEY" ]
105+ if "JP_DRIVES_SESSION_TOKEN" in os .environ :
106+ self .session_token = os .environ ["JP_DRIVES_SESSION_TOKEN" ]
107+ if "JP_DRIVES_PROVIDER" in os .environ :
108+ self .provider = os .environ ["JP_DRIVES_PROVIDER" ]
103109 return
104110
105111 def _extract_credentials_from_file (self , file_path ):
106112 try :
107113 with open (file_path , 'r' ) as file :
108- access_key_id , secret_access_key , session_token = None , None , None
114+ provider , access_key_id , secret_access_key , session_token = None , None , None , None
109115 lines = file .readlines ()
110116 for line in lines :
111- if line .startswith ("aws_access_key_id =" ):
117+ if line .startswith ("provider =" ):
118+ provider = line .split ("=" )[1 ].strip ()
119+ elif line .startswith ("drives_access_key_id =" ):
112120 access_key_id = line .split ("=" )[1 ].strip ()
113- elif line .startswith ("aws_secret_access_key =" ):
121+ elif line .startswith ("drives_secret_access_key =" ):
114122 secret_access_key = line .split ("=" )[1 ].strip ()
115- elif line .startswith ("session_token =" ):
123+ elif line .startswith ("drives_session_token =" ):
116124 session_token = line .split ("=" )[1 ].strip ()
117- return access_key_id , secret_access_key , session_token
125+ return provider , access_key_id , secret_access_key , session_token
118126 except Exception as e :
119127 print (f"Failed loading credentials from { file_path } : { e } " )
120128 return
0 commit comments