Get AWS credentials in various ways.
- Add the dependency to your
shard.yml
:
dependencies:
aws-credentials:
github: y2k2mt/aws-credentials.cr
- Run
shards install
Providers
resolves credentials in order from given Provider
.
In the example below, at first ,Providers
resolves credentials from EnvProvider ('AWS_ACCESS_KEY_ID' and 'AWS_SECRET_ACCESS_KEY' in env) and then resolves credentials from SharedCredentialFileProvider ('~/.aws/credentials').
require "aws-credentials"
include Aws::Credentials
provider = Providers.new ([
EnvProvider.new,
SharedCredentialFileProvider.new
] of Provider)
credentials = provider.credentials
# Aws::Credentials::Credentials(@access_key_id="AKIA...",@expiration=nil,@secret_access_key="mVlf...",@session_token=nil)
Current Provider
implementation is as follows:
- EnvProvider
- SharedCredentialFileProvider
- InstanceMetadataProvider
- ContainerCredentialProvider
- AssumeRoleProvider
- Usage: Please watch
spec/it/assume_role_with_sts_spec.cr
- Usage: Please watch
- SimpleCredentials (Simply holds given credentials)
- Fork it (https://github.com/y2k2mt/aws-credentials/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- y2k2mt - creator and maintainer