Module: AWS::Core::CredentialProviders::Provider
- Included in:
- DefaultProvider, EC2Provider, ENVProvider, SessionProvider
- Defined in:
- lib/aws/core/credential_providers.rb
Overview
This module is mixed into the various credential provider classes. It provides a unified interface for getting credentials and refreshing them.
Constant Summary collapse
- KEYS =
The list of possible keys in the hash returned by #credentials.
Set[:access_key_id, :secret_access_key, :session_token]
Instance Method Summary collapse
-
#access_key_id ⇒ String
Returns the AWS access key id.
-
#credentials ⇒ Hash
Returns a hash of credentials containg at least the
:access_key_id
and:secret_access_key
. -
#refresh ⇒ nil
Clears out cached/memoized credentials.
-
#secret_access_key ⇒ String
Returns the AWS secret access key.
-
#session_token ⇒ String?
Returns the AWS session token or nil if these are not session credentials.
Instance Method Details
#access_key_id ⇒ String
Returns the AWS access key id.
52 53 54 |
# File 'lib/aws/core/credential_providers.rb', line 52 def access_key_id credentials[:access_key_id] end |
#credentials ⇒ Hash
Returns a hash of credentials containg at least the :access_key_id
and :secret_access_key
. The hash may also contain a :session_token
.
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/aws/core/credential_providers.rb', line 39 def credentials @cached_credentials ||= begin creds = get_credentials unless creds[:access_key_id] and creds[:secret_access_key] raise Errors::MissingCredentialsError end creds end @cached_credentials.dup end |
#refresh ⇒ nil
Clears out cached/memoized credentials. Causes the provider to refetch credentials from the source.
72 73 74 |
# File 'lib/aws/core/credential_providers.rb', line 72 def refresh @cached_credentials = nil end |
#secret_access_key ⇒ String
Returns the AWS secret access key.
58 59 60 |
# File 'lib/aws/core/credential_providers.rb', line 58 def secret_access_key credentials[:secret_access_key] end |
#session_token ⇒ String?
Returns the AWS session token or nil if these are not session credentials.
65 66 67 |
# File 'lib/aws/core/credential_providers.rb', line 65 def session_token credentials[:session_token] end |