Class: AwsKeychainUtil::CredentialProvider

Inherits:
Object
  • Object
show all
Includes:
AWS::Core::CredentialProviders::Provider
Defined in:
lib/aws-keychain-util/credential_provider.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of CredentialProvider.



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

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

Instance Attribute Details

#itemObject (readonly)

Returns the value of attribute item.



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

def item
  @item
end

#keychainObject (readonly)

Returns the value of attribute keychain.



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

def keychain
  @keychain
end

Instance Method Details

#get_credentialsObject



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

def get_credentials
  keychain = @keychain ? Keychain.open(@keychain) : AwsKeychainUtil.load_keychain
  item = keychain.generic_passwords.where(:label => @item).first
  return {} unless item
  {
    access_key_id: item.attributes[:account],
    secret_access_key: item.password
  }
end