Class: AwsKeychainUtil::CredentialProvider

Inherits:
Object
  • Object
show all
Includes:
Aws::CredentialProvider
Defined in:
lib/aws-keychain-util/credential_provider.rb

Overview

class to automatically grab AWS credentials from your keychain

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(item = 'AWS', keychain = nil) ⇒ CredentialProvider

Returns a new instance of CredentialProvider.



12
13
14
15
# File 'lib/aws-keychain-util/credential_provider.rb', line 12

def initialize(item = 'AWS', keychain = nil)
  @item = item
  @keychain = keychain
end

Instance Attribute Details

#itemObject (readonly)

Returns the value of attribute item.



10
11
12
# File 'lib/aws-keychain-util/credential_provider.rb', line 10

def item
  @item
end

#keychainObject (readonly)

Returns the value of attribute keychain.



10
11
12
# File 'lib/aws-keychain-util/credential_provider.rb', line 10

def keychain
  @keychain
end

Instance Method Details

#credentialsObject



17
18
19
20
21
# File 'lib/aws-keychain-util/credential_provider.rb', line 17

def credentials
  keychain = @keychain ? Keychain.open(@keychain) : AwsKeychainUtil.load_keychain
  item = keychain.generic_passwords.where(label: @item).first
  Aws::Credentials.new(item.attributes[:account], item.password)
end