awsecrets 1.0.0 → 1.1.0

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: a8c263296a3ce4e2f9fb5a69662b5ddc3a3b741f
4
- data.tar.gz: 75c2f9275a2c2cf08b4ba70a91515edef7d74912
3
+ metadata.gz: 280f567d2ec4330ee66ba90aba628914dcf191c1
4
+ data.tar.gz: 7637115a204eecb0d633beb8be7781e5735f3f0b
5
5
  SHA512:
6
- metadata.gz: d9cbebe3ea145b2835b20cdda2a4326f602e1b8dee814538fbecf9d5bbd5b2145b384ee0e177a2f04aa278e47224a9bdc63e31891081c086dc72c20370c8655d
7
- data.tar.gz: e68e024855b51cd54d33dc94660ab148019695bb724cd4dd797e96b2cae6c1c58630dad036158ee54f8aaa06dba52ba59447ad57d64c73b9cde239adf4199a47
6
+ metadata.gz: aa3b8bd258a8739993c5ffab6a3e2b99237e12c6f9da8632c0a7413978d3becedd71139d32a1dcc41091f7b9eaaa31d662bffe5d3c5bc7909d8807516fdd96d0
7
+ data.tar.gz: dc908d2b99027f98ab6c523e3e924d8cfdd76d34151f2bfdedc0798f95e4873ac68adea2de7d4a9bb88d34ac4a1898ccca97d535846d820d623f38482ad62467
data/README.md CHANGED
@@ -4,7 +4,7 @@ AWS credentials loader
4
4
 
5
5
  ## awsecrets config precedence
6
6
 
7
- 1. Command Line Options
7
+ 1. Command Line Options (Awscreds#load method args OR self optparse)
8
8
  2. Environment Variables
9
9
  3. YAML file (secrets.yml)
10
10
  4. The AWS credentials file
@@ -28,6 +28,37 @@ Or install it yourself as:
28
28
 
29
29
  $ gem install awsecrets
30
30
 
31
+ ## Usage example
32
+
33
+ Create command line tool `ec2sample` like following code
34
+
35
+ ```ruby
36
+ #!/usr/bin/env ruby
37
+ require 'awsecrets'
38
+ Awsecrets.load
39
+ ec2_client = Aws::EC2::Client.new
40
+ puts ec2_client.describe_instances({ instance_ids: [ARGV.first] }).reservations.first.instances.first
41
+ ```
42
+
43
+ And execute
44
+
45
+ ```sh
46
+ $ ec2sample i-1aa1aaaa --profile mycreds --region ap-northeast-1
47
+
48
+ or
49
+
50
+ $ AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AWS_REGION=ap-northeast-1 ec2sample i-1aa1aaaa
51
+
52
+ or
53
+
54
+ $ cat <<EOF > secrets.yml
55
+ region: ap-northeast-1
56
+ aws_access_key_id: XXXXXXXXXXXXXXXXXXXX
57
+ aws_secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
58
+ EOF
59
+ $ ec2sample i-1aa1aaaa
60
+ ```
61
+
31
62
  ## Contributing
32
63
 
33
64
  1. Fork it ( https://github.com/k1LoW/awsecrets/fork )
data/bin/testcommand ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ require 'awsecrets'
3
+
4
+ Awsecrets.load
5
+ ec2_client = Aws::EC2::Client.new
6
+ puts ec2_client.describe_instances({ instance_ids: [ARGV.first] }).reservations.first.instances.first
@@ -1,3 +1,3 @@
1
1
  module Awsecrets
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
data/lib/awsecrets.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'awsecrets/version'
2
+ require 'optparse'
2
3
  require 'aws-sdk'
3
4
  require 'aws_config'
4
5
  require 'yaml'
@@ -11,7 +12,7 @@ module Awsecrets
11
12
  @credentials = nil
12
13
 
13
14
  # 1. Command Line Options
14
- load_command
15
+ load_options if load_method_args
15
16
  # 2. Environment Variables
16
17
  load_env
17
18
  # 3. YAML file (secrets.yml)
@@ -25,10 +26,26 @@ module Awsecrets
25
26
  Aws.config[:credentials] = @credentials
26
27
  end
27
28
 
28
- def self.load_command
29
+ def self.load_method_args
30
+ return false unless @profile
31
+ aws_config = AWSConfig.profiles[@profile]
32
+ @region = aws_config.config_hash[:region] if aws_config && @region.nil?
33
+ @credentials = Aws::SharedCredentials.new(profile_name: @profile)
34
+ true
35
+ end
36
+
37
+ def self.load_options
38
+ opt = OptionParser.new
39
+ opt.on('--profile PROFILE') { |v| @profile = v } unless @profile
40
+ opt.on('--region REGION') { |v| @region = v } unless @region
41
+ opt.on('--secrets_path SECRETS_PATH') { |v| @secrets_path = v } unless @secrets_path
42
+ begin
43
+ opt.parse!(ARGV)
44
+ rescue OptionParser::InvalidOption
45
+ end
29
46
  return unless @profile
30
47
  aws_config = AWSConfig.profiles[@profile]
31
- @region = aws_config.config_hash[:region] if aws_config
48
+ @region = aws_config.config_hash[:region] if aws_config && @region.nil?
32
49
  @credentials = Aws::SharedCredentials.new(profile_name: @profile)
33
50
  end
34
51
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awsecrets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1LoW
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-17 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -140,6 +140,7 @@ files:
140
140
  - awsecrets.gemspec
141
141
  - bin/console
142
142
  - bin/setup
143
+ - bin/testcommand
143
144
  - lib/awsecrets.rb
144
145
  - lib/awsecrets/version.rb
145
146
  homepage: https://github.com/k1LoW/awsecrets