in src/cloudwatch/modules/configuration/metadatareader.py [0:0]
def get_iam_role_credentials(self, role_name):
""" Get the IAMRoleCredentials object with values from IAM metadata """
try:
iam_data = loads(self._get_metadata(self._IAM_ROLE_CREDENTIAL_REQUEST + role_name))
if iam_data['AccessKeyId'] and iam_data['SecretAccessKey'] and iam_data['Token']:
return AWSCredentials(iam_data['AccessKeyId'], iam_data['SecretAccessKey'], iam_data['Token'])
else:
raise ValueError("Incomplete credentials retrieved.")
except Exception as e:
self._LOGGER.error("Retrieved IAM data is invalid. Cause: " + str(e))
raise ValueError(e)