aws-keychain-util 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: be488246906252df30fbbe24765a7d774f5fb21e
4
+ data.tar.gz: d5c43506532ff50a3ad86e258d07ab9b90e00c9f
5
+ SHA512:
6
+ metadata.gz: 0078ffd3bc56738efa38ca033699932b2cd50c068813399441bccdde99a281e097f9d36aea6a8743f6a6255c7a25104181fe96c5d472c3297b96e7cc77badd0b
7
+ data.tar.gz: 4e0cf6c640e681f9eba0f17415d7ef056fa42808962aa05f25530168409480ea4482d5f42c6cbb71a568336d531c2452f7dbbc2a14ca27119b2d409470430f3e
@@ -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.9'
7
+ gem.version = '0.0.10'
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.}
@@ -18,5 +18,5 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.add_dependency('ruby-keychain')
20
20
  gem.add_dependency('highline')
21
- gem.add_dependency('aws-sdk')
21
+ gem.add_dependency('aws-sdk-v1')
22
22
  end
data/bin/aws-creds CHANGED
@@ -9,7 +9,7 @@ require 'highline'
9
9
  require 'keychain'
10
10
  require 'json'
11
11
  require 'aws-keychain-util'
12
- require 'aws'
12
+ require 'aws-sdk-v1'
13
13
 
14
14
  def ask(question)
15
15
  HighLine.new.ask(question)
@@ -83,12 +83,15 @@ when 'init'
83
83
  name = ask("Name for AWS keychain (default: 'aws'): ")
84
84
  name = "aws" if name == ""
85
85
 
86
+ shell_arguments = ask("Shell arguments (default: '--login'): ")
87
+ shell_arguments = "--login" if shell_arguments == ""
88
+
86
89
  puts "The OS will now ask you for a password to protect your keychain. Choose wisely."
87
90
  keychain = Keychain.create(name)
88
91
  keychain.lock_interval = 300
89
92
  keychain.lock_on_sleep = true
90
93
 
91
- $prefs = { 'aws_keychain_name' => name }
94
+ $prefs = { 'aws_keychain_name' => name, 'shell_arguments' => shell_arguments }
92
95
  File.new(AwsKeychainUtil::PREFS_FILE, "w").write JSON.dump($prefs)
93
96
 
94
97
  puts "Your AWS keychain has been created and configured to auto-lock after"
@@ -185,7 +188,9 @@ when 'shell'
185
188
  exit 1
186
189
  end
187
190
 
191
+ prefs = AwsKeychainUtil.prefs
188
192
  item, token = get_item_from_args_for_command('shell')
193
+
189
194
  aws_env = {}
190
195
  aws_env['AWS_ACCESS_KEY_ID'] = aws_env['AWS_ACCESS_KEY'] = item.attributes[:account]
191
196
  aws_env['AWS_SECRET_ACCESS_KEY'] = aws_env['AWS_SECRET_KEY'] = item.password
@@ -194,9 +199,16 @@ when 'shell'
194
199
  aws_env['AWS_SECURITY_TOKEN'] = token.password
195
200
  end
196
201
 
197
- aws_env['RPROMPT'] = "(aws #{item.attributes[:label]})" # zsh only
198
-
199
- exec(aws_env, ENV['SHELL'])
202
+ if ARGV.empty?
203
+ aws_env['RPROMPT'] = "(aws #{item.attributes[:label]})" # zsh only
204
+ if prefs['shell_arguments']
205
+ exec(aws_env, ENV['SHELL'], prefs['shell_arguments'])
206
+ else
207
+ exec(aws_env)
208
+ end
209
+ else
210
+ exec(aws_env, *ARGV)
211
+ end
200
212
 
201
213
  else
202
214
  puts "Usage: #{$0} <command> <arguments>"
@@ -3,11 +3,15 @@ module AwsKeychainUtil
3
3
 
4
4
  def self.load_keychain
5
5
  keychain = if File.exist? PREFS_FILE
6
- prefs = JSON.parse(File.read(PREFS_FILE))
6
+ prefs = self.prefs
7
7
  Keychain.open(prefs['aws_keychain_name'])
8
8
  else
9
9
  Keychain.default
10
10
  end
11
11
  keychain
12
12
  end
13
+
14
+ def self.prefs
15
+ JSON.parse(File.read(PREFS_FILE))
16
+ end
13
17
  end
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-keychain-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
5
- prerelease:
4
+ version: 0.0.10
6
5
  platform: ruby
7
6
  authors:
8
7
  - Zach Wily
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-02-09 00:00:00.000000000 Z
11
+ date: 2014-12-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: ruby-keychain
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: highline
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: aws-sdk
42
+ name: aws-sdk-v1
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: Helps manage a keychain of AWS credentials on OS X.
@@ -67,7 +60,7 @@ executables:
67
60
  extensions: []
68
61
  extra_rdoc_files: []
69
62
  files:
70
- - .gitignore
63
+ - ".gitignore"
71
64
  - Gemfile
72
65
  - LICENSE.txt
73
66
  - README.md
@@ -78,27 +71,26 @@ files:
78
71
  - lib/aws-keychain-util/credential_provider.rb
79
72
  homepage: ''
80
73
  licenses: []
74
+ metadata: {}
81
75
  post_install_message:
82
76
  rdoc_options: []
83
77
  require_paths:
84
78
  - lib
85
79
  required_ruby_version: !ruby/object:Gem::Requirement
86
- none: false
87
80
  requirements:
88
- - - ! '>='
81
+ - - ">="
89
82
  - !ruby/object:Gem::Version
90
83
  version: '0'
91
84
  required_rubygems_version: !ruby/object:Gem::Requirement
92
- none: false
93
85
  requirements:
94
- - - ! '>='
86
+ - - ">="
95
87
  - !ruby/object:Gem::Version
96
88
  version: '0'
97
89
  requirements: []
98
90
  rubyforge_project:
99
- rubygems_version: 1.8.23
91
+ rubygems_version: 2.2.2
100
92
  signing_key:
101
- specification_version: 3
93
+ specification_version: 4
102
94
  summary: Helps manage a keychain of AWS credentials on OS X.
103
95
  test_files: []
104
96
  has_rdoc: