enforce contract for credentials map having id and secret key (raise an exception)
if map has empty values then use default constructors in aws-sdk to allow for instance profile/roles to kick in