awsecrets 1.0.0 → 1.1.0
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 +4 -4
- data/README.md +32 -1
- data/bin/testcommand +6 -0
- data/lib/awsecrets/version.rb +1 -1
- data/lib/awsecrets.rb +20 -3
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 280f567d2ec4330ee66ba90aba628914dcf191c1
|
4
|
+
data.tar.gz: 7637115a204eecb0d633beb8be7781e5735f3f0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
data/lib/awsecrets/version.rb
CHANGED
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
|
-
|
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.
|
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.
|
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-
|
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
|