Netflix/SimianArmy — pull request #28 by DrGranit (2013-01-10 11:13:14+00:00)
Title: Adding Role policy handling in addition to explicitly set user credentials

Changed all usages of AWS SDK client constructors with credentials to use the default constructor, such that credentials are chosen in the following order:
- Environment Variables: AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties: aws.accessKeyId and aws.secretKey
- Instance Metadata Service, which provides the credentials associated with the IAM role for the EC2 instance

If the credentials are set explicitly within the client.properties, they are exposed as Java System property and will as such be picked up by the AWS SDK call. Should the property not exist, be empty or only hold spaces, then the InstanceProfileCredentialsProvider is used. It uses credentials provided by the Instance Meta Data Service, we can not store these within the code as such are rotated and will be rechecked for every time an SDK call is made. Hence the removal of all in memory storage of the credentials and deprecation of their getters. Also deprecated the constructor taking credentials as arguments in favor of the one establishing the credentials via the AWS SDK.

kind regards
DrGranit