aws-keychain-util 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51c1cdb1ab0fb62ba46499a92cde5dfd68ec9d86
4
- data.tar.gz: 0a42483da6bbdc164552970bfa560b8f805d34a2
3
+ metadata.gz: 27605c262ccf5d07a36f56918a04d4b9c3f012ad
4
+ data.tar.gz: 8790d93d8bc976e41cf132fb9724f88a38917181
5
5
  SHA512:
6
- metadata.gz: eccf9ed4c2453e986d6d2af4bfcedfa27d47c158ac34a75c5451b83543240e6994f32621ec3b60ff338188e321a312e3317e6c1468ae18fecbf8dc06e4cab3b1
7
- data.tar.gz: 48e1d5492237026d9ddb3c5554519376cbcfb1128d06e3d90aca5af3b3a5cc86dd4612e071d28ccc7ba20910238a970d4479a84850662473f81fdc6ea0086110
6
+ metadata.gz: 40cbeceef571c407749c645ee1fb72b748dddee8564a13c58406282da439dd6dbbcf6e5721ab705945ada9b0b59d9f2d5c1380fee7895955fb4b3a5db661cb51
7
+ data.tar.gz: 523a878f9f686ce5ef81e409957cfc778a40813584d0340f0ecfc12af07c26c20d540b0d0d5817b2e94ba813ffd09f51192a747da7a0413c7084044426a59d02
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "aws-keychain-util"
7
- gem.version = '0.0.11'
7
+ gem.version = '0.0.12'
8
8
  gem.authors = ["Zach Wily"]
9
9
  gem.email = ["zach@zwily.com"]
10
10
  gem.description = %q{Helps manage a keychain of AWS credentials on OS X.}
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
  gem.require_paths = ["lib"]
18
18
 
19
- gem.add_dependency('ruby-keychain')
19
+ gem.add_dependency('ruby-keychain', '~> 0.2.0')
20
20
  gem.add_dependency('highline')
21
21
  gem.add_dependency('aws-sdk-v1')
22
22
  end
data/bin/aws-creds CHANGED
@@ -151,18 +151,18 @@ when 'mfa'
151
151
  sts_item.delete
152
152
  sts_token.delete if sts_token
153
153
  end
154
-
154
+
155
155
  item, token = get_item(item_name)
156
156
  sts = AWS::STS.new(:access_key_id => item.attributes[:account], :secret_access_key => item.password)
157
157
  begin
158
158
  response = sts.new_session(:duration => (60 * 60 * 12), :serial_number => item.attributes[:comment], :token_code => code)
159
159
  temp_item = keychain.generic_passwords.create(:label => "#{item_name} mfa",
160
- :account => response.credentials[:access_key_id],
161
- :password=> response.credentials[:secret_access_key],
160
+ :account => response.credentials[:access_key_id],
161
+ :password=> response.credentials[:secret_access_key],
162
162
  :comment => response.expires_at.to_i.to_s)
163
163
  temp_token = keychain.generic_passwords.create(:label => "#{item_name} token",
164
- :account => "#{response.credentials[:access_key_id]}_token",
165
- :password=> response.credentials[:session_token],
164
+ :account => "#{response.credentials[:access_key_id]}_token",
165
+ :password=> response.credentials[:session_token],
166
166
  :comment => response.expires_at.to_i.to_s)
167
167
 
168
168
  puts "MultiFactorAuthentication succeeded, expiration is #{response.expires_at}"
@@ -181,6 +181,7 @@ when 'env'
181
181
  puts "export AWS_CREDS_NAME=\"#{item.attributes[:label]}\""
182
182
  if token
183
183
  puts "export AWS_SECURITY_TOKEN=\"#{token.password}\""
184
+ puts "export AWS_SESSION_TOKEN=\"#{token.password}\""
184
185
  end
185
186
 
186
187
  when 'shell'
@@ -197,7 +198,7 @@ when 'shell'
197
198
  aws_env['AWS_SECRET_ACCESS_KEY'] = aws_env['AWS_SECRET_KEY'] = item.password
198
199
  aws_env['AWS_CREDS_NAME'] = item.attributes[:label]
199
200
  if token
200
- aws_env['AWS_SECURITY_TOKEN'] = token.password
201
+ aws_env['AWS_SECURITY_TOKEN'] = aws_env['AWS_SESSION_TOKEN'] = token.password
201
202
  end
202
203
 
203
204
  if ARGV.empty?
@@ -215,4 +216,3 @@ else
215
216
  puts "Usage: #{$0} <command> <arguments>"
216
217
  puts " Commands: init, ls, add, cat, env, mfa, rm, shell"
217
218
  end
218
-
@@ -2,16 +2,15 @@ module AwsKeychainUtil
2
2
  PREFS_FILE = File.expand_path "~/.aws-keychain-util"
3
3
 
4
4
  def self.load_keychain
5
- keychain = if File.exist? PREFS_FILE
6
- prefs = self.prefs
7
- Keychain.open(prefs['aws_keychain_name'])
8
- else
9
- Keychain.default
10
- end
11
- keychain
5
+ name = prefs['aws_keychain_name']
6
+ name ? Keychain.open(name) : Keychain.default
12
7
  end
13
8
 
14
9
  def self.prefs
15
- JSON.parse(File.read(PREFS_FILE))
10
+ if File.exist? PREFS_FILE
11
+ JSON.parse(File.read(PREFS_FILE))
12
+ else
13
+ {}
14
+ end
16
15
  end
17
16
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-keychain-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Wily
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-05 00:00:00.000000000 Z
11
+ date: 2015-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-keychain
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: highline
29
29
  requirement: !ruby/object:Gem::Requirement