aws-session-credentials 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +10 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +4 -0
- data/README.md +76 -0
- data/Rakefile +6 -0
- data/aws-session-credentials.gemspec +29 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/exe/aws-session +4 -0
- data/lib/aws/session/credentials.rb +10 -0
- data/lib/aws/session/credentials/cli.rb +66 -0
- data/lib/aws/session/credentials/config.rb +95 -0
- data/lib/aws/session/credentials/credential_file.rb +41 -0
- data/lib/aws/session/credentials/session_builder.rb +48 -0
- data/lib/aws/session/credentials/version.rb +7 -0
- metadata +159 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MTg4MzliNjVjMjM1OTc3MTM5YmJlZWU2NTBjNzVlZTNmZjJhYWJlOA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MjkwNThiMmYwYWFkZjNjNTg1OTk1NDkwZDU1YjQ4Nzc5NTY5MjU5Nw==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZDkwYmRlYzYwOWMwZWVkYmQ4MmZjZGNiZDc4YjE1ZWJhZGZkNjA4OTZmOTAx
|
10
|
+
Nzk0ZmE0YjM2ODRkZmE3OGEzMDg3ZDBhOGVhZTJiNmQ2YTcwMzQ3ZWZiOTIz
|
11
|
+
N2RjMzRlOGMwMWIyYzZhMWU4NDA0YmU1ZTg4M2IzMjY2ZDE4NzQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OTYyZDQ1ZTEyNDMxYTY5OWVjZTM3MmY5NjA0YWJhZTY5NjBkMjhhMWQ0MzFm
|
14
|
+
NDhhMjk2ZmVjNDczYjI0MTQ0ZjFkNGQzYzc0ZWE1MmQwNTc1OTQ4MDE0Y2Rj
|
15
|
+
ZjJhNjYyZjk1ZTVhYWVkODQxN2EzODg2ZWI4NmM4MTkyZDZlMjA=
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.2.3
|
4
|
+
before_install: gem install bundler -v 1.10.6
|
5
|
+
deploy:
|
6
|
+
provider: rubygems
|
7
|
+
api_key:
|
8
|
+
secure: JvG2IbQf/X0apcDdi2e8Ex6UamwelO8T6N+CwAG2pFino5B8Pvj16JdLGypHeVQSA4QaTpgwRfyb/2zipBuxtrVhQ3FoJP1wxOA2hR/xImmlEL5Q8gOswYZL8EHVvnhzIcSfjzIBhr1Um65pkDWlsNCgsD/3EPJHGUDTH2d20OkiEZSk4U+HnWXKTufDzuFy8APzaBnI8Kg8som7pxuPrYXg5hIdmnoAGUwz2KclbcijXxqWycf7KVadlAH2QqzbzPhZ2rEAddG8GTfLkaul+9QXRMiU/Vz969ie0Qy2Px0/3fZWyAjA3Bxrj9SgdU70UOUbxUKK/EDifporZ/Cd/pWNM/lpiMG/KVaPPot6lpc5PGseC3Iwj7aasaYRjaLPGPEI6LNTSnlcOuf+R62rInR4Z7DfjsWXlBdJalTg+gmpvi0a5V65t+fUq3At0Icme3RJW1V5fRqc4RzHk0p3Ce2JYHKg/GhUtmhKu0jLPwzpFNH3dCtBNFH3v2USrOi+gYKNRjxNkVGTqWQJiWi33RlTN2+boC5cVDXJkjGRCngjxkYYKyZYRZXqqzdBcXkJuuGoGQYSDlb6xY74j40igbiQTkvByIj2mfWKiLQJrVW4c+WK3EhmoOx/bv8Fyu5C8/IDgO3k4X8RfaKbMOlYoX8Sb0qZlQQ3yvVDV/34AHQ=
|
9
|
+
on:
|
10
|
+
tags: true
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
|
+
|
5
|
+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
|
6
|
+
|
7
|
+
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
|
+
|
9
|
+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
10
|
+
|
11
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
|
+
|
13
|
+
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# Aws::Session::Credentials
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/zl4bv/aws-session-credentials.svg)](https://travis-ci.org/zl4bv/aws-session-credentials)
|
4
|
+
|
5
|
+
Command-line tool to generate AWS session credentials.
|
6
|
+
|
7
|
+
Gets a set of session credentials from the AWS STS service and saves them to
|
8
|
+
`~/.aws/credentials` (by default). You can optionally provide an MFA device and
|
9
|
+
code too if your IAM user/role requires it.
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
Add this line to your application's Gemfile:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
gem 'aws-session-credentials'
|
17
|
+
```
|
18
|
+
|
19
|
+
And then execute:
|
20
|
+
|
21
|
+
$ bundle
|
22
|
+
|
23
|
+
Or install it yourself as:
|
24
|
+
|
25
|
+
$ gem install aws-session-credentials
|
26
|
+
|
27
|
+
## Usage
|
28
|
+
|
29
|
+
Example:
|
30
|
+
|
31
|
+
```
|
32
|
+
$ aws-session --mfa-code 123456
|
33
|
+
```
|
34
|
+
|
35
|
+
To set the full list of CLI options:
|
36
|
+
|
37
|
+
```
|
38
|
+
$ aws-session --help new
|
39
|
+
|
40
|
+
Usage:
|
41
|
+
aws-session
|
42
|
+
|
43
|
+
Options:
|
44
|
+
[--access-key-id=ACCESS-KEY-ID] # Access key used to generate session token
|
45
|
+
[--secret-access-key=SECRET-ACCESS-KEY] # Secret key used to generate session token
|
46
|
+
[--region=REGION] # AWS region to connect to
|
47
|
+
[--config-file=CONFIG-FILE] # YAML file to load config from
|
48
|
+
# Default: ~/.aws/credentials.yml
|
49
|
+
[--credential-file=CREDENTIAL-FILE] # INI file to save session credentials to
|
50
|
+
# Default: ~/.aws/credentials
|
51
|
+
[--profile=PROFILE] # Profile that session token will be loaded into
|
52
|
+
# Default: default
|
53
|
+
[--duration=N] # Duration, in seconds, that credentials should remain valid
|
54
|
+
# Default: 1
|
55
|
+
[--mfa-device=MFA-DEVICE] # ARN of MFA device
|
56
|
+
[--mfa-code=MFA-CODE] # Six digit code from MFA device
|
57
|
+
```
|
58
|
+
|
59
|
+
### Config File
|
60
|
+
|
61
|
+
By default this is located at `~/.aws/credentials.yml`.
|
62
|
+
|
63
|
+
Example:
|
64
|
+
|
65
|
+
```yaml
|
66
|
+
---
|
67
|
+
aws_access_key_id: AKIAIOSFODNN7EXAMPLE
|
68
|
+
aws_secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
69
|
+
region: ap-southeast-2
|
70
|
+
duration: 86400
|
71
|
+
mfa_device: arn:aws:iam::000000000000:mfa/user.name@example.com
|
72
|
+
```
|
73
|
+
|
74
|
+
## Contributing
|
75
|
+
|
76
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/zl4bv/aws-session-credentials. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
|
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'aws/session/credentials/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'aws-session-credentials'
|
8
|
+
spec.version = Aws::Session::Credentials::VERSION
|
9
|
+
spec.authors = ['Ben Vidulich']
|
10
|
+
spec.email = ['ben@vidulich.co.nz']
|
11
|
+
|
12
|
+
spec.summary = %q{Command-line tool to generate AWS session credentials.}
|
13
|
+
spec.description = %q{Command-line tool to generate AWS session credentials.}
|
14
|
+
spec.homepage = 'https://github.com/zl4bv/aws-session-credentials'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
spec.bindir = 'exe'
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.10'
|
22
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
23
|
+
spec.add_development_dependency 'rspec'
|
24
|
+
spec.add_development_dependency 'rspec-its'
|
25
|
+
|
26
|
+
spec.add_runtime_dependency 'aws-sdk', '~> 2.1'
|
27
|
+
spec.add_runtime_dependency 'inifile', '~> 3.0'
|
28
|
+
spec.add_runtime_dependency 'thor', '~> 0.19'
|
29
|
+
end
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "aws/session/credentials"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
data/exe/aws-session
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'aws-sdk'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'inifile'
|
4
|
+
require 'yaml'
|
5
|
+
|
6
|
+
require 'aws/session/credentials/config'
|
7
|
+
require 'aws/session/credentials/credential_file'
|
8
|
+
require 'aws/session/credentials/session_builder'
|
9
|
+
|
10
|
+
require 'aws/session/credentials/version'
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'aws/session/credentials'
|
3
|
+
|
4
|
+
module Aws
|
5
|
+
module Session
|
6
|
+
module Credentials
|
7
|
+
# Command line interface
|
8
|
+
class Cli < Thor
|
9
|
+
method_option 'access-key-id',
|
10
|
+
type: :string,
|
11
|
+
desc: 'Access key used to generate session token',
|
12
|
+
default: nil
|
13
|
+
method_option 'secret-access-key',
|
14
|
+
type: :string,
|
15
|
+
desc: 'Secret key used to generate session token',
|
16
|
+
default: nil
|
17
|
+
method_option 'region',
|
18
|
+
type: :string,
|
19
|
+
desc: 'AWS region to connect to',
|
20
|
+
default: nil
|
21
|
+
method_option 'config-file',
|
22
|
+
type: :string,
|
23
|
+
desc: 'YAML file to load config from',
|
24
|
+
default: '~/.aws/credentials.yml'
|
25
|
+
method_option 'credential-file',
|
26
|
+
type: :string,
|
27
|
+
desc: 'INI file to save session credentials to',
|
28
|
+
default: '~/.aws/credentials'
|
29
|
+
method_option 'profile',
|
30
|
+
type: :string,
|
31
|
+
desc: 'Profile that session token will be loaded into',
|
32
|
+
default: 'default'
|
33
|
+
method_option 'duration',
|
34
|
+
type: :numeric,
|
35
|
+
desc: 'Duration, in seconds, that credentials should remain valid',
|
36
|
+
default: 1
|
37
|
+
method_option 'mfa-device',
|
38
|
+
type: :string,
|
39
|
+
desc: 'ARN of MFA device',
|
40
|
+
default: nil
|
41
|
+
method_option 'mfa-code',
|
42
|
+
type: :string,
|
43
|
+
desc: 'Six digit code from MFA device',
|
44
|
+
default: nil
|
45
|
+
desc 'new', 'Generates new AWS session credentials'
|
46
|
+
def new
|
47
|
+
config = Config.new(options['config-file'])
|
48
|
+
config.aws_access_key_id ||= options['access-key-id']
|
49
|
+
config.aws_secret_access_key ||= options['secret-access-key']
|
50
|
+
config.region ||= options['region']
|
51
|
+
config.credential_file ||= options['credential-file']
|
52
|
+
config.profile ||= options['profile']
|
53
|
+
config.duration ||= options['duration']
|
54
|
+
config.mfa_device ||= options['mfa-device']
|
55
|
+
config.mfa_code ||= options['mfa-code']
|
56
|
+
|
57
|
+
cf = CredentialFile.new(config.credential_file)
|
58
|
+
sb = SessionBuilder.new(config.to_h)
|
59
|
+
sb.update_credential_file(cf)
|
60
|
+
end
|
61
|
+
|
62
|
+
default_task :new
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
module Aws
|
2
|
+
module Session
|
3
|
+
module Credentials
|
4
|
+
# Holds configuration
|
5
|
+
class Config
|
6
|
+
def initialize(path, config = nil)
|
7
|
+
@path = File.expand_path(path) if path
|
8
|
+
@config = config || load_file
|
9
|
+
end
|
10
|
+
|
11
|
+
def [](key)
|
12
|
+
@config[key]
|
13
|
+
end
|
14
|
+
|
15
|
+
def []=(key, value)
|
16
|
+
@config[key] = value
|
17
|
+
end
|
18
|
+
|
19
|
+
def aws_access_key_id
|
20
|
+
self['aws_access_key_id']
|
21
|
+
end
|
22
|
+
|
23
|
+
def aws_access_key_id=(value)
|
24
|
+
self['aws_access_key_id'] = value
|
25
|
+
end
|
26
|
+
|
27
|
+
def aws_secret_access_key
|
28
|
+
self['aws_secret_access_key']
|
29
|
+
end
|
30
|
+
|
31
|
+
def aws_secret_access_key=(value)
|
32
|
+
self['aws_secret_access_key'] = value
|
33
|
+
end
|
34
|
+
|
35
|
+
def credential_file
|
36
|
+
self['credential_file']
|
37
|
+
end
|
38
|
+
|
39
|
+
def credential_file=(value)
|
40
|
+
self['credential_file'] = value
|
41
|
+
end
|
42
|
+
|
43
|
+
def duration
|
44
|
+
self['duration']
|
45
|
+
end
|
46
|
+
|
47
|
+
def duration=(value)
|
48
|
+
self['duration'] = value
|
49
|
+
end
|
50
|
+
|
51
|
+
# @api private
|
52
|
+
def load_file
|
53
|
+
return {} unless File.exist?(@path)
|
54
|
+
YAML.load(File.read(@path))
|
55
|
+
end
|
56
|
+
|
57
|
+
def mfa_code
|
58
|
+
self['mfa_code']
|
59
|
+
end
|
60
|
+
|
61
|
+
def mfa_code=(value)
|
62
|
+
self['mfa_code'] = value
|
63
|
+
end
|
64
|
+
|
65
|
+
def mfa_device
|
66
|
+
self['mfa_device']
|
67
|
+
end
|
68
|
+
|
69
|
+
def mfa_device=(value)
|
70
|
+
self['mfa_device'] = value
|
71
|
+
end
|
72
|
+
|
73
|
+
def profile
|
74
|
+
self['profile']
|
75
|
+
end
|
76
|
+
|
77
|
+
def profile=(value)
|
78
|
+
self['profile'] = value
|
79
|
+
end
|
80
|
+
|
81
|
+
def region
|
82
|
+
self['region']
|
83
|
+
end
|
84
|
+
|
85
|
+
def region=(value)
|
86
|
+
self['region'] = value
|
87
|
+
end
|
88
|
+
|
89
|
+
def to_h
|
90
|
+
@config
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Aws
|
2
|
+
module Session
|
3
|
+
module Credentials
|
4
|
+
# AWS credentials file. Usually located on disk at +~/.aws/credentials+.
|
5
|
+
class CredentialFile
|
6
|
+
# @param [String] path location of credentials file on disk
|
7
|
+
# @param [IniFile] ini_file
|
8
|
+
def initialize(path = '~/.aws/credentials', ini_file = nil)
|
9
|
+
@path = File.expand_path(path)
|
10
|
+
@ini_file = ini_file || init_ini_file
|
11
|
+
end
|
12
|
+
|
13
|
+
# @api private
|
14
|
+
def init_ini_file
|
15
|
+
if File.exist?(@path)
|
16
|
+
IniFile.load(@path)
|
17
|
+
else
|
18
|
+
path_dir = File.dirname(@path)
|
19
|
+
FileUtils.mkdir_p(path_dir) unless File.exist?(path_dir)
|
20
|
+
IniFile.new(filename: @path, encoding: 'UTF-8')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Sets credentials for provided profile.
|
25
|
+
#
|
26
|
+
# Overrides provided options if they already exist for the provided
|
27
|
+
# profile. Does not override options if they are not provided. Set an
|
28
|
+
# option to +nil+ to explicitly unset an existing option.
|
29
|
+
# @param [String] profile name of profile to set credentials for
|
30
|
+
# @param [Hash] options settings to set
|
31
|
+
# @option options [String] :access_key_id Access key
|
32
|
+
# @option options [String] :secret_access_key Secret key
|
33
|
+
# @option options [String] :session_token Session token
|
34
|
+
def set_credentials(profile, options = {})
|
35
|
+
@ini_file[profile] = @ini_file[profile].merge(options)
|
36
|
+
@ini_file.write
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Aws
|
2
|
+
module Session
|
3
|
+
module Credentials
|
4
|
+
# Builds AWS session
|
5
|
+
class SessionBuilder
|
6
|
+
# @param [Hash] config configuration
|
7
|
+
# @param [Aws::STS::Client] client STS client
|
8
|
+
def initialize(config, client = nil)
|
9
|
+
@config = config
|
10
|
+
@client = client || init_client
|
11
|
+
end
|
12
|
+
|
13
|
+
# @api private
|
14
|
+
def init_client
|
15
|
+
Aws::STS::Client.new(
|
16
|
+
region: @config['region'],
|
17
|
+
access_key_id: @config['aws_access_key_id'],
|
18
|
+
secret_access_key: @config['aws_secret_access_key']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Gets a set of session credentials
|
23
|
+
#
|
24
|
+
# @return [Aws::STS::Types::Credentials] credentials or +nil+
|
25
|
+
def session_credentials
|
26
|
+
resp = @client.get_session_token(
|
27
|
+
duration_seconds: @config['duration'],
|
28
|
+
serial_number: @config['mfa_device'],
|
29
|
+
token_code: @config['mfa_code']
|
30
|
+
)
|
31
|
+
return {
|
32
|
+
'aws_access_key_id' => resp.credentials['access_key_id'],
|
33
|
+
'aws_secret_access_key' => resp.credentials['secret_access_key'],
|
34
|
+
'aws_session_token' => resp.credentials['session_token']
|
35
|
+
} if resp
|
36
|
+
end
|
37
|
+
|
38
|
+
# Gets a set of session credentials and updates them in a credential
|
39
|
+
# file.
|
40
|
+
#
|
41
|
+
# @param [String] path location of credential file
|
42
|
+
def update_credential_file(credential_file)
|
43
|
+
credential_file.set_credentials(@config['profile'], session_credentials)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
metadata
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: aws-session-credentials
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ben Vidulich
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-10-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.10'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec-its
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: aws-sdk
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.1'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.1'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: inifile
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: thor
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.19'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.19'
|
111
|
+
description: Command-line tool to generate AWS session credentials.
|
112
|
+
email:
|
113
|
+
- ben@vidulich.co.nz
|
114
|
+
executables:
|
115
|
+
- aws-session
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- .gitignore
|
120
|
+
- .rspec
|
121
|
+
- .travis.yml
|
122
|
+
- CODE_OF_CONDUCT.md
|
123
|
+
- Gemfile
|
124
|
+
- README.md
|
125
|
+
- Rakefile
|
126
|
+
- aws-session-credentials.gemspec
|
127
|
+
- bin/console
|
128
|
+
- bin/setup
|
129
|
+
- exe/aws-session
|
130
|
+
- lib/aws/session/credentials.rb
|
131
|
+
- lib/aws/session/credentials/cli.rb
|
132
|
+
- lib/aws/session/credentials/config.rb
|
133
|
+
- lib/aws/session/credentials/credential_file.rb
|
134
|
+
- lib/aws/session/credentials/session_builder.rb
|
135
|
+
- lib/aws/session/credentials/version.rb
|
136
|
+
homepage: https://github.com/zl4bv/aws-session-credentials
|
137
|
+
licenses: []
|
138
|
+
metadata: {}
|
139
|
+
post_install_message:
|
140
|
+
rdoc_options: []
|
141
|
+
require_paths:
|
142
|
+
- lib
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ! '>='
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ! '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
requirements: []
|
154
|
+
rubyforge_project:
|
155
|
+
rubygems_version: 2.4.5
|
156
|
+
signing_key:
|
157
|
+
specification_version: 4
|
158
|
+
summary: Command-line tool to generate AWS session credentials.
|
159
|
+
test_files: []
|