Browse code

Fixes #987 - Fixes using IAM with python3. Config options should be unicode.

Florent Viard authored on 2018/07/19 08:27:12
Showing 1 changed files
... ...
@@ -263,10 +263,10 @@ class Config(object):
263 263
                 conn.request('GET', "/latest/meta-data/iam/security-credentials/%s"%files.decode('UTF-8'))
264 264
                 resp=conn.getresponse()
265 265
                 if resp.status == 200:
266
-                    creds=json.load(resp)
267
-                    Config().update_option('access_key', creds['AccessKeyId'].encode('ascii'))
268
-                    Config().update_option('secret_key', creds['SecretAccessKey'].encode('ascii'))
269
-                    Config().update_option('access_token', creds['Token'].encode('ascii'))
266
+                    creds=json.load(resp, encoding="utf-8")
267
+                    Config().update_option('access_key', config_unicodise(creds['AccessKeyId']))
268
+                    Config().update_option('secret_key', config_unicodise(creds['SecretAccessKey']))
269
+                    Config().update_option('access_token', config_unicodise(creds['Token']))
270 270
                 else:
271 271
                     raise IOError
272 272
             else: