soror 0.0.7 → 0.0.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73f072542dc9b84afd4eede7cf1158d08d4ea836
4
- data.tar.gz: ce567efc8b2d9479f3faf5f47b1b2b2a27827c6f
3
+ metadata.gz: 4e3d60cc5af136386d68b720f81b4646daa38bcb
4
+ data.tar.gz: c6f95bb345ce5ed90d7374b0e22929c8209b9ee0
5
5
  SHA512:
6
- metadata.gz: 70d8dd59d7afdfe35b492559d0a8cc9bf557d09db0bb2e63634532bd0d42b2270627ef12a7ae64e4facce766c3f6033855230f40eefeef8548bc34759a044232
7
- data.tar.gz: 0a4686593e3f45ad15b42bf3afee001afd6d46a78047e6475a716a51626df7cdd105da51ea01dad5c68c2c8f5cf377eeb3c1cf647ba18596804b9adf33197233
6
+ metadata.gz: 03c0040dc4ebf8460ff34c0b1ff397bf3ccd3a52f2ceb040cd662dddbad8fa8893bb6df3aed02d8a7b79ee82023d3cb2d71ea4a7a043e1355e15223d6091513f
7
+ data.tar.gz: ccdb481f89052bd992d7a4786ed9a8b4d9c3a8ceebd5bf2af3224c43e4717f4a9bd0f94c86620b65c305b85ef36040cfa23e5e57bf027d2ac43f256437372b8d
data/README.md CHANGED
@@ -33,15 +33,7 @@ Soror::EC2::Instance.search_by(name: 'soror') #=> [<Aws::EC2::Instance>, ...]
33
33
  Soror.config.update(access_key_id: 'xxxxx', secret_access_key: 'xxxxx', region: 'ap-northeast-1')
34
34
  ```
35
35
 
36
- Or put the configuration file on your home directory as:
37
-
38
- ```sh
39
- $ cat <<EOS >$HOME/.soror
40
- access_key_id: 'xxxxx'
41
- secret_access_key: 'xxxxx'
42
- region: 'ap-northeast-1'
43
- EOS
44
- ```
36
+ In addition, Soror supports [a new and standardized way to manage credentials](http://blogs.aws.amazon.com/security/post/Tx3D6U6WSFGOK2H/A-New-and-Standardized-Way-to-Manage-Credentials-in-the-AWS-SDKs)
45
37
 
46
38
  ## CLI
47
39
 
@@ -51,9 +43,16 @@ Usage: soror [options]
51
43
  -t, --tag='KEY=VALUE'
52
44
  -a, --attributes=ATTR,ATTR,...
53
45
  --[no-]header
46
+ --profile-name=NAME
47
+ --credentials-path=PATH
54
48
  --access-key=KEY
55
49
  --secret-key=KEY
56
50
  --region=REGION
51
+
52
+ $ soror --profile-name 'kirikiriyamama' --region 'ap-northeast-1' --tag 'name=soror' --attributes 'instance_id,public_ip_address'
53
+ instance_id public_ip_address
54
+ i-xxxxx xxx.xxx.xxx.xxx
55
+ i-xxxxx xxx.xxx.xxx.xxx
57
56
  ```
58
57
 
59
58
  ## Required permissions
data/bin/soror CHANGED
@@ -5,23 +5,27 @@ require 'soror'
5
5
 
6
6
  Version = Soror::VERSION
7
7
 
8
- options = { header: true, tag: {}, config: {} }
8
+ options = { header: true, attributes: [], config: {}, credentials: {}, tag: {} }
9
9
  OptionParser.new do |opt|
10
10
  opt.on('-t', '--tag=\'KEY=VALUE\'', /\A[^=]+=[^=]+\z/) do |v|
11
11
  key, val = v.split('=')
12
12
  options[:tag][key] = val
13
13
  end
14
- opt.on('-a', '--attributes=ATTR,ATTR,...', Array) { |v| options[:attributes] = v }
14
+ opt.on('-a', '--attributes=ATTR,ATTR,...', Array) { |a| options[:attributes] = a }
15
15
  opt.on('--[no-]header') { |v| options[:header] = v }
16
+ opt.on('--profile-name=NAME') { |v| options[:credentials][:profile_name] = v }
17
+ opt.on('--credentials-path=PATH') { |v| options[:credentials][:path] = v }
16
18
  opt.on('--access-key=KEY') { |v| options[:config][:access_key_id] = v }
17
19
  opt.on('--secret-key=KEY') { |v| options[:config][:secret_access_key] = v }
18
20
  opt.on('--region=REGION') { |v| options[:config][:region] = v }
19
21
  opt.parse!(ARGV)
20
22
  end
21
23
  fail OptionParser::MissingArgument, '--tag' if options[:tag].empty?
22
- fail OptionParser::MissingArgument, '--attributes' if options[:attributes].nil?
23
24
  fail OptionParser::InvalidArgument, '--attributes' if options[:attributes].empty?
24
25
 
26
+ unless options[:credentials].empty?
27
+ options[:config][:credentials] = Aws::SharedCredentials.new(options[:credentials])
28
+ end
25
29
  Soror.config.update(options[:config])
26
30
 
27
31
  instances = Soror::EC2::Instance.search_by(options[:tag])
data/lib/soror/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Soror
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
data/lib/soror.rb CHANGED
@@ -28,5 +28,8 @@ module Soror
28
28
  end
29
29
 
30
30
  File.expand_path('~/.soror').tap do |path|
31
- Soror.config.update(YAML.load_file(path).symbolize_keys) if File.exists?(path)
31
+ if File.exists?(path)
32
+ warn '[DEPRECATION] Support of `~/.soror` will be removed. Please use such as `~/.aws/credentials` instead.'
33
+ Soror.config.update(YAML.load_file(path).symbolize_keys)
34
+ end
32
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soror
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - kirikiriyamama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-19 00:00:00.000000000 Z
11
+ date: 2015-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  requirements: []
93
93
  rubyforge_project:
94
- rubygems_version: 2.2.2
94
+ rubygems_version: 2.4.5
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: Search for EC2 instances by tags