pythonmobile opened a new issue #1601:
URL: https://github.com/apache/libcloud/issues/1601


   ## Summary
   
   I am trying to list nodes from an EC2 instance by getting temporary 
credentials for building a driver. I could use help in making this work.
   
   ## Detailed Information
   import os
   import logging
   import pathlib
   import requests
   import configparser
   from libcloud.compute.types import Provider
   from libcloud.compute.providers import get_driver
   
   IAM_METADATA_URL = 
"http://169.254.169.254/latest/meta-data/iam/security-credentials";
   region = "us-east-1"
   role = "MyProject-EC2-Manage-Role"
   
   url = "/".join((IAM_METADATA_URL, role))
   print("URL:", url)
   response = requests.get(url)
   response.raise_for_status()
   resp_json = response.json()
   aws_ak = resp_json.get("AccessKeyId")
   aws_sk = resp_json.get("SecretAccessKey")
   aws_token = resp_json.get("Token")
   print(f"Credentials : \n Access Key ID: {aws_ak}\n \n SecretAccessKey: 
{aws_sk}\n  \n Token: {aws_token}")
   
   cls = get_driver(Provider.EC2)
   conn = cls(aws_ak, aws_sk, region="us-east-1")
   
   from pprint import pprint
   #pprint(conn.list_sizes())
   #pprint(dir(conn))
   pprint(conn.list_nodes())
   
   
   ================================================
   
   
   Traceback (most recent call last):
     File "test.py", line 29, in <module>
       pprint(conn.list_nodes())
     File 
"/home/ubuntu/.cache/pypoetry/virtualenvs/myproject-Jwnpjg_m-py3.8/lib/python3.8/site-packages/libcloud/compute/drivers/ec2.py",
 line 1672, in list_nodes
       elem = self.connection.request(self.path, params=params).object
     File 
"/home/ubuntu/.cache/pypoetry/virtualenvs/myproject-Jwnpjg_m-py3.8/lib/python3.8/site-packages/libcloud/common/base.py",
 line 655, in request
       response = responseCls(**kwargs)
     File 
"/home/ubuntu/.cache/pypoetry/virtualenvs/myproject-Jwnpjg_m-py3.8/lib/python3.8/site-packages/libcloud/common/base.py",
 line 166, in __init__
       message=self.parse_error(),
     File 
"/home/ubuntu/.cache/pypoetry/virtualenvs/myproject-Jwnpjg_m-py3.8/lib/python3.8/site-packages/libcloud/compute/drivers/ec2.py",
 line 1224, in parse_error
       raise InvalidCredsError(err_list[-1])
   libcloud.common.types.InvalidCredsError: 'AuthFailure: AWS was not able to 
validate the provided access credentials'
   
   Distributor ID:      Ubuntu
   Description: Ubuntu 20.04.3 LTS
   Release:     20.04
   Codename:    focal
   
   aws ec2 describe-instances --> Works as expected on this machine.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to