Class: Aws::SharedCredentials
- Inherits:
-
Object
- Object
- Aws::SharedCredentials
- Includes:
- CredentialProvider
- Defined in:
- lib/aws-sdk-core/shared_credentials.rb
Constant Summary collapse
- KEY_MAP =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
{ 'aws_access_key_id' => 'access_key_id', 'aws_secret_access_key' => 'secret_access_key', 'aws_session_token' => 'session_token', }
Instance Attribute Summary collapse
- #credentials ⇒ Credentials readonly
- #path ⇒ String readonly
- #profile_name ⇒ String readonly
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ SharedCredentials
constructor
Constructs a new SharedCredentials object.
- #inspect ⇒ Object private
-
#loadable? ⇒ Boolean
Returns ‘true` if a credential file exists and has appropriate read permissions at #path.
Methods included from CredentialProvider
#access_key_id, #secret_access_key, #session_token, #set?
Methods included from Deprecations
Constructor Details
#initialize(options = {}) ⇒ SharedCredentials
Constructs a new SharedCredentials object. This will load AWS access credentials from an ini file, which supports profiles. The default profile name is ‘default’. You can specify the profile name with the ‘ENV` or with the `:profile_name` option.
24 25 26 27 28 29 30 |
# File 'lib/aws-sdk-core/shared_credentials.rb', line 24 def initialize( = {}) @path = [:path] || default_path @profile_name = [:profile_name] @profile_name ||= ENV['AWS_PROFILE'] @profile_name ||= 'default' load_from_path if loadable? end |
Instance Attribute Details
#credentials ⇒ Credentials (readonly)
39 40 41 |
# File 'lib/aws-sdk-core/shared_credentials.rb', line 39 def credentials @credentials end |
#path ⇒ String (readonly)
33 34 35 |
# File 'lib/aws-sdk-core/shared_credentials.rb', line 33 def path @path end |
#profile_name ⇒ String (readonly)
36 37 38 |
# File 'lib/aws-sdk-core/shared_credentials.rb', line 36 def profile_name @profile_name end |
Instance Method Details
#inspect ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
42 43 44 45 46 47 48 49 |
# File 'lib/aws-sdk-core/shared_credentials.rb', line 42 def inspect parts = [ self.class.name, "profile_name=#{profile_name.inspect}", "path=#{path.inspect}", ] "#<#{parts.join(' ')}>" end |
#loadable? ⇒ Boolean
55 56 57 |
# File 'lib/aws-sdk-core/shared_credentials.rb', line 55 def loadable? !path.nil? && File.exist?(path) && File.readable?(path) end |