aws_runas 0.3.1 → 0.4.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: f9e60ed4c0cf8087605426ff18b859a4effcb7d0
4
- data.tar.gz: 23c46cc1407a5c521b8d7ac4a3130f85c3ef368e
3
+ metadata.gz: af8ca683b13de341202e80a4e5ba6db77eda5903
4
+ data.tar.gz: de6f9fcd9160ffb9ed9bc31ed895f43ef489ea7f
5
5
  SHA512:
6
- metadata.gz: 2774fd7e5f13d104a7c2cf24bcd03f8402162e388a296dbfe75d1632e8a2c60477d106923a89a95ade20b8185fd324a40ef30de2a264ee3707620fd3818eb579
7
- data.tar.gz: d283315d8d0025df28dc433b01fbd8a883f219c3dd1bb022e194f967ee4bf4d17a810bea6ec73e65aac40f5f497e5496fb7a67424452dfdcd99b953581a4cfdd
6
+ metadata.gz: ef6af6dd0f335c650c817b41d87f0d81f113a907d44cacf2cde7080bb5fcbdabf19b99a1a6a844ae0bff7f351d1849b805d6eeafa244c636c934cff4318712c3
7
+ data.tar.gz: d69007d2fedddfaae682f07cc565ad7bb9a226275ba2420a7b20db6662a2f45b684dee8d115b1c2d71ab2b0edfc36342079f0d08dce960636bef5425e0fd17d0
Binary file
data.tar.gz.sig CHANGED
Binary file
data/.gitignore CHANGED
@@ -11,3 +11,5 @@
11
11
  # Adding bin and vendor as this should never be vendored in production
12
12
  /bin/
13
13
  /vendor/
14
+
15
+ *.gem
@@ -1,4 +1,5 @@
1
1
  langauge: ruby
2
2
  rvm:
3
- - "2.2.3"
4
- - "2.1.7"
3
+ - "2.4.0"
4
+ - "2.3.3"
5
+ - "2.2.6"
@@ -1,3 +1,14 @@
1
+ ## v0.4.0
2
+
3
+ * Dropping support for Ruby 2.1. You will need at least Ruby 2.2.6 to be using
4
+ this gem now. If you have a version below this, please use a v0.3.x version.
5
+ * MFA entry is no longer hidden from the terminal - you will see the digits you
6
+ enter now.
7
+ * Added a special indicator to `bash` prompts when running interactively. This
8
+ prompt displays your running profile, like so: `(AWS:default)`. When running
9
+ via --no-role, the indicator is just `(AWS)`. This should help to distinguish
10
+ any AWS shells you may be running from regular ones.
11
+
1
12
  ## v0.3.1
2
13
 
3
14
  This update sets `AWS_SDK_CONFIG_OPT_OUT` before the `aws-sdk` Ruby gem is
data/README.md CHANGED
@@ -23,6 +23,11 @@ thing, but there are some differentiators in this gem:
23
23
  interactive shell sessions (by supplying no commands).
24
24
  * MFA will be auto-detected and only prompted for if necessary (allowing one
25
25
  to assume a role that does not have a MFA serial supplied).
26
+ * Session tokens can be acquired without assuming a role by adding the
27
+ appropriate `mfa_serial` into the `[default]` profile and running `aws-runas`
28
+ with `--no-role`. Subsequent uses of `aws-runas` after this will not prompt
29
+ you for MFA (useful for tooling that needs to assume multiple roles off the
30
+ same session token).
26
31
 
27
32
  Usage
28
33
  ------
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.description = 'Run a command or shell under an assumed AWS IAM role'
25
25
  spec.summary = spec.description
26
26
  spec.homepage = 'https://github.com/vancluever/aws-runas'
27
- spec.license = 'Apache 2.0'
27
+ spec.license = 'Apache-2.0'
28
28
 
29
29
  spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.cert_chain = ['certs/vancluever.pem']
36
36
  spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
37
37
 
38
- spec.required_ruby_version = ['>= 2.1']
38
+ spec.required_ruby_version = ['>= 2.2.6']
39
39
 
40
40
  spec.add_dependency 'aws-sdk', '~> 2.6'
41
41
  spec.add_dependency 'inifile', '~> 3.0'
@@ -1,22 +1,22 @@
1
1
  -----BEGIN CERTIFICATE-----
2
2
  MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQ8wDQYDVQQDDAZjaHJp
3
3
  c20xHjAcBgoJkiaJk/IsZAEZFg52YW5jbHVldmVydGVjaDETMBEGCgmSJomT8ixk
4
- ARkWA2NvbTAeFw0xNTExMjMyMzQ3NTdaFw0xNjExMjIyMzQ3NTdaMEYxDzANBgNV
4
+ ARkWA2NvbTAeFw0xNzAzMTYxNjM0MTZaFw0xODAzMTYxNjM0MTZaMEYxDzANBgNV
5
5
  BAMMBmNocmlzbTEeMBwGCgmSJomT8ixkARkWDnZhbmNsdWV2ZXJ0ZWNoMRMwEQYK
6
6
  CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
7
- uQTxFEI+Xzntwk3P+EAX4alaLkLAUA4x5jVbP4bEaOIfixQkur5js3XS5UfKlxEW
8
- Tf4pmiXqlrrLSm5o1EURpQao8DdWkMiAvfr/M8WHTzWng+YmpvctjcGFofq4w+Zk
9
- IJ0RsOEKFv7VOSn3qr1Aee9BVXSPb0+yCu6Kjt8u768M2wq8WNQW66XG2+tQW4UT
10
- khadeSU2srZfd7H7T3LSzjOtWedcy/foiJvULlWqFuBUv67Qp04GXHT4n5cukuIH
11
- eNQgqfa9CIyhzpyyS+mPY8D8ewjIWrptQbUiFeB2dE37xes+uaRMdwwhk2oU6jLV
12
- QMv1YG4V3JxFpTNPea5jfQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
13
- AgSwMB0GA1UdDgQWBBRj5uLoIYZHX/b+IlvCAN337VfHpzAkBgNVHREEHTAbgRlj
7
+ 3i76LgHtAqSINqsk+1joj4bx4Mwk2Dgc5HMSe2MUAUzBxCXMDdlSSSJMBB8ZTXbf
8
+ uKreoDESTVLQlPm+RnsTDZpMMurznYGq15RrstD8pkxCre6QiGY1Ujwh/qdQQ65G
9
+ xULqYRSpikriJl8mHyUOxz2A56os/sTIzvfdNdC0y3wMUmPOQZMzsLxcxBT9rvtm
10
+ ME3IS5nR9u35X9O0CtNtvP+9VhJ/8mpSaYh2t0FigWJggvB9pRyT7D2YI0y1NpuW
11
+ w3FQeGwDZkvpI6dQxgQKuwNMIZVs39QSu5ltzlrjkFhm4mJKf5Zf1hVjMfKKWJSM
12
+ BDYULea2Iv+fpGU2SkhrSwIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
13
+ AgSwMB0GA1UdDgQWBBRJbzaO73nDGmYlgYL+7tEDhL6+FjAkBgNVHREEHTAbgRlj
14
14
  aHJpc21AdmFuY2x1ZXZlcnRlY2guY29tMCQGA1UdEgQdMBuBGWNocmlzbUB2YW5j
15
- bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBAH5sOPRECuSAXi6eXk1g
16
- 04V407WVxvc2Hu3uuyIIna43VbjI9yJ3C8DpRDxOCJylJCeuINm21CkIYbizUCXo
17
- E/KLT1S+kpSnNqccX0DHqrDWHPZ8ilWSaWQlMRiK0wXwcPOvRvbEkJETZkIKJxgF
18
- FdFk9TXbiqYN/owwcHkhfbpoFtP2VQ3jMsGvMsYDq1r2IZvNLH0O1ZFj+LEmG+TL
19
- E1p79m5ad6mXuceNGNmPacLSkJWLfKZXaxjB8Yz1fINOmnXTBgxP67ix9ini3EM6
20
- reriQxVYXGlD8ZDuaKlDyVqUbF026ZHIlHKIgg90O037qFPxCBACTtxtYTP2hwug
21
- Yis=
15
+ bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBALVY07yDy4um9cYp0ku9
16
+ WMZLWUwsxXsqmhnKcKa552NWhrdnjy/jCdc1fWcsyF60X5FZ4OEIHB2WubTa8/Ty
17
+ fWW/FNQMxAYNUzO8XBZGuE/5m8V3dJL8AlUiuiDLfZoeQAVe6zeaeBWYJenxNBRS
18
+ 8oLbWQukwSlOP62gMme5mVXM0NKc/MeO2wQSRJXjYoGdDCfqgaIImPg7ExME6Fw+
19
+ g09hCEeualN7su6OZYCUknxeGDmCvfO5fQlGmTzAVewWgGApG7XUvM0gJXV8ks0+
20
+ 80WBA6xKwX0zwURD8J7WNieL2iY5AhBg26cHuFLMQGTCyNEeZHZHnJhCwuBcnV1w
21
+ 2zQ=
22
22
  -----END CERTIFICATE-----
@@ -58,13 +58,9 @@ module AwsRunAs
58
58
  def read_mfa_if_needed(path: nil, profile: 'default')
59
59
  @cfg = AwsRunAs::Config.new(path: path, profile: profile)
60
60
  return nil unless @cfg.mfa_required?
61
- STDOUT.puts 'Enter MFA code:'
61
+ STDOUT.print 'Enter MFA code: '
62
62
  STDOUT.flush
63
- begin
64
- STDIN.noecho(&:gets).chomp
65
- rescue Errno::EBADF
66
- STDIN.gets.chomp
67
- end
63
+ STDIN.gets.chomp
68
64
  end
69
65
  end
70
66
  end
@@ -17,6 +17,7 @@ require 'inifile'
17
17
  module AwsRunAs
18
18
  # Manages the configuartion file, including loading and retrieving values.
19
19
  class Config
20
+ attr_reader :profile
20
21
  # Finds the configuration file (used if no file is specified).
21
22
  # paths searched: ./aws_config, and ~/.aws/config.
22
23
  def self.find_config_file
@@ -78,7 +78,7 @@ module AwsRunAs
78
78
 
79
79
  def handoff(command: nil, argv: nil)
80
80
  env = credentials_env
81
- command = AwsRunAs::Utils.shell unless command
81
+ AwsRunAs::Utils.handoff_to_shell(env: env, profile: @no_role ? nil : @cfg.profile) unless command
82
82
  exec(env, command, *argv)
83
83
  end
84
84
  end
@@ -13,13 +13,31 @@
13
13
  # limitations under the License.
14
14
 
15
15
  require 'rbconfig'
16
+ require 'tempfile'
17
+ require 'English'
16
18
 
17
19
  module AwsRunAs
18
20
  # Utility functions that aren't specifically tied to a class.
19
21
  module Utils
22
+ module_function
23
+
24
+ # Run an interactive bash session with a special streamed RC file. The RC
25
+ # merges a local .bashrc if it exists, with a prompt that includes the
26
+ # computed message from handoff_to_shell.
27
+ def bash_with_prompt(env:, path:, message:)
28
+ rc_data = IO.read("#{ENV['HOME']}/.bashrc") if File.exist?("#{ENV['HOME']}/.bashrc")
29
+ rc_file = Tempfile.new('aws_runas_bashrc')
30
+ rc_file.write("#{rc_data}\n") unless rc_data.nil?
31
+ rc_file.write("PS1=\"\\e[33m(#{message})\\e[0m $PS1\"\n")
32
+ rc_file.close
33
+ system(env, path, '--rcfile', rc_file.path)
34
+ ensure
35
+ rc_file.unlink
36
+ end
37
+
20
38
  # load the shell for a specific operating system.
21
39
  # if $SHELL exists, load that.
22
- def self.shell
40
+ def shell
23
41
  if RbConfig::CONFIG['host_os'] =~ /mswin|windows|mingw32/i
24
42
  'cmd.exe'
25
43
  elsif ENV.include?('SHELL')
@@ -28,5 +46,28 @@ module AwsRunAs
28
46
  '/bin/sh'
29
47
  end
30
48
  end
49
+
50
+ # Compute the message given to the prompt based off supplied profile.
51
+ def compute_message(profile:)
52
+ if profile.nil?
53
+ 'AWS'
54
+ else
55
+ "AWS:#{profile}"
56
+ end
57
+ end
58
+
59
+ # "Handoff" to a supported interactive shell. More technically, this runs
60
+ # an interactive shell with the shell prompt customized to the current
61
+ # running AWS profile. If the shell is not something we can handle
62
+ # specifically, just run the shell.
63
+ def handoff_to_shell(env:, profile: nil)
64
+ path = shell
65
+ if path.end_with?('/bash')
66
+ bash_with_prompt(env: env, path: path, message: compute_message(profile: profile))
67
+ else
68
+ system(env, path)
69
+ end
70
+ exit $CHILD_STATUS.exitstatus
71
+ end
31
72
  end
32
73
  end
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module AwsRunAs
16
- VERSION = '0.3.1'
16
+ VERSION = '0.4.0'
17
17
  end
@@ -124,16 +124,6 @@ describe AwsRunAs::Main do
124
124
  ENV.store('SHELL', '/bin/sh')
125
125
  end
126
126
 
127
- it 'calls exec with the environment properly set' do
128
- expect(@main).to receive(:exec).with(@env, any_args)
129
- @main.handoff
130
- end
131
-
132
- it 'starts a shell if no command is specified' do
133
- expect(@main).to receive(:exec).with(@env, '/bin/sh', *nil)
134
- @main.handoff
135
- end
136
-
137
127
  it 'execs a command when a command is specified' do
138
128
  expect(@main).to receive(:exec).with(anything, '/usr/bin/foo', *['--bar', 'baz'])
139
129
  @main.handoff(command: '/usr/bin/foo', argv: ['--bar', 'baz'])
@@ -15,6 +15,31 @@
15
15
  require 'spec_helper'
16
16
 
17
17
  describe AwsRunAs::Utils do
18
+ describe '::bash_with_prompt' do
19
+ context 'with RC file' do
20
+ before(:example) do
21
+ allow(IO).to receive(:read).with("#{ENV['HOME']}/.bashrc").and_return(BASHRC_FILE_CONTENTS)
22
+ end
23
+ it 'runs bash with a properly combined RC file' do
24
+ expect(AwsRunAs::Utils).to receive(:system).with(EXPECTED_ENV, '/bin/bash', '--rcfile', anything)
25
+ expect_any_instance_of(Tempfile).to receive(:write).with("#{BASHRC_FILE_CONTENTS}\n")
26
+ expect_any_instance_of(Tempfile).to receive(:write).with(BASHRC_EXPECTED_PROMPT)
27
+ AwsRunAs::Utils.bash_with_prompt(env: EXPECTED_ENV, path: '/bin/bash', message: 'AWS:rspec')
28
+ end
29
+ end
30
+
31
+ context 'without RC file' do
32
+ before(:example) do
33
+ allow(File).to receive(:exist?).with("#{ENV['HOME']}/.bashrc").and_return(false)
34
+ end
35
+ it 'runs bash (no RC file found)' do
36
+ expect(AwsRunAs::Utils).to receive(:system).with(EXPECTED_ENV, '/bin/bash', '--rcfile', anything)
37
+ expect_any_instance_of(Tempfile).to receive(:write).with(BASHRC_EXPECTED_PROMPT)
38
+ AwsRunAs::Utils.bash_with_prompt(env: EXPECTED_ENV, path: '/bin/bash', message: 'AWS:rspec')
39
+ end
40
+ end
41
+ end
42
+
18
43
  describe '::shell' do
19
44
  context 'Non-Windows OS' do
20
45
  context 'No $SHELL set' do
@@ -49,4 +74,44 @@ describe AwsRunAs::Utils do
49
74
  end
50
75
  end
51
76
  end
77
+
78
+ describe '::compute_message' do
79
+ context 'no profile specified' do
80
+ it 'returns "AWS" with no profile' do
81
+ expect(AwsRunAs::Utils.compute_message(profile: nil)).to eq 'AWS'
82
+ end
83
+ end
84
+
85
+ context 'with profile as "rspec"' do
86
+ it 'returns "AWS:rspec", indicating that is the profile' do
87
+ expect(AwsRunAs::Utils.compute_message(profile: 'rspec')).to eq 'AWS:rspec'
88
+ end
89
+ end
90
+ end
91
+
92
+ describe '::handoff_to_shell' do
93
+ context 'with shell as bash' do
94
+ before(:example) do
95
+ allow(AwsRunAs::Utils).to receive(:shell).and_return('/bin/bash')
96
+ allow(AwsRunAs::Utils).to receive(:exit)
97
+ end
98
+
99
+ it 'Loads bash with the rspec profile prompt' do
100
+ expect(AwsRunAs::Utils).to receive(:bash_with_prompt).with(env: EXPECTED_ENV, path: '/bin/bash', message: 'AWS:rspec')
101
+ AwsRunAs::Utils.handoff_to_shell(env: EXPECTED_ENV, profile: 'rspec')
102
+ end
103
+ end
104
+
105
+ context 'with non-prompt supported shell' do
106
+ before(:example) do
107
+ allow(AwsRunAs::Utils).to receive(:shell).and_return('/bin/sh')
108
+ allow(AwsRunAs::Utils).to receive(:exit)
109
+ end
110
+
111
+ it 'starts a default shell without any args' do
112
+ expect(AwsRunAs::Utils).to receive(:system).with(EXPECTED_ENV, '/bin/sh')
113
+ AwsRunAs::Utils.handoff_to_shell(env: EXPECTED_ENV, profile: nil)
114
+ end
115
+ end
116
+ end
52
117
  end
@@ -0,0 +1 @@
1
+ foobar
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ MOCK_BASHRC_PATH = File.expand_path('../files/bashrc', __FILE__)
4
+
5
+ BASHRC_FILE_CONTENTS = <<EOS.freeze
6
+ foobar
7
+ EOS
8
+
9
+ BASHRC_EXPECTED_PROMPT = "PS1=\"\\e[33m(AWS:rspec)\\e[0m $PS1\"\n".freeze
10
+
11
+ EXPECTED_ENV = {
12
+ 'AWS_ACCESS_KEY_ID' => 'AccessKeyId',
13
+ 'AWS_SECRET_ACCESS_KEY' => 'SecretAccessKey',
14
+ 'AWS_SESSION_TOKEN' => 'Token'
15
+ }.freeze
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_runas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Marchesi
@@ -12,26 +12,26 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQ8wDQYDVQQDDAZjaHJp
14
14
  c20xHjAcBgoJkiaJk/IsZAEZFg52YW5jbHVldmVydGVjaDETMBEGCgmSJomT8ixk
15
- ARkWA2NvbTAeFw0xNTExMjMyMzQ3NTdaFw0xNjExMjIyMzQ3NTdaMEYxDzANBgNV
15
+ ARkWA2NvbTAeFw0xNzAzMTYxNjM0MTZaFw0xODAzMTYxNjM0MTZaMEYxDzANBgNV
16
16
  BAMMBmNocmlzbTEeMBwGCgmSJomT8ixkARkWDnZhbmNsdWV2ZXJ0ZWNoMRMwEQYK
17
17
  CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
18
- uQTxFEI+Xzntwk3P+EAX4alaLkLAUA4x5jVbP4bEaOIfixQkur5js3XS5UfKlxEW
19
- Tf4pmiXqlrrLSm5o1EURpQao8DdWkMiAvfr/M8WHTzWng+YmpvctjcGFofq4w+Zk
20
- IJ0RsOEKFv7VOSn3qr1Aee9BVXSPb0+yCu6Kjt8u768M2wq8WNQW66XG2+tQW4UT
21
- khadeSU2srZfd7H7T3LSzjOtWedcy/foiJvULlWqFuBUv67Qp04GXHT4n5cukuIH
22
- eNQgqfa9CIyhzpyyS+mPY8D8ewjIWrptQbUiFeB2dE37xes+uaRMdwwhk2oU6jLV
23
- QMv1YG4V3JxFpTNPea5jfQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
24
- AgSwMB0GA1UdDgQWBBRj5uLoIYZHX/b+IlvCAN337VfHpzAkBgNVHREEHTAbgRlj
18
+ 3i76LgHtAqSINqsk+1joj4bx4Mwk2Dgc5HMSe2MUAUzBxCXMDdlSSSJMBB8ZTXbf
19
+ uKreoDESTVLQlPm+RnsTDZpMMurznYGq15RrstD8pkxCre6QiGY1Ujwh/qdQQ65G
20
+ xULqYRSpikriJl8mHyUOxz2A56os/sTIzvfdNdC0y3wMUmPOQZMzsLxcxBT9rvtm
21
+ ME3IS5nR9u35X9O0CtNtvP+9VhJ/8mpSaYh2t0FigWJggvB9pRyT7D2YI0y1NpuW
22
+ w3FQeGwDZkvpI6dQxgQKuwNMIZVs39QSu5ltzlrjkFhm4mJKf5Zf1hVjMfKKWJSM
23
+ BDYULea2Iv+fpGU2SkhrSwIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
24
+ AgSwMB0GA1UdDgQWBBRJbzaO73nDGmYlgYL+7tEDhL6+FjAkBgNVHREEHTAbgRlj
25
25
  aHJpc21AdmFuY2x1ZXZlcnRlY2guY29tMCQGA1UdEgQdMBuBGWNocmlzbUB2YW5j
26
- bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBAH5sOPRECuSAXi6eXk1g
27
- 04V407WVxvc2Hu3uuyIIna43VbjI9yJ3C8DpRDxOCJylJCeuINm21CkIYbizUCXo
28
- E/KLT1S+kpSnNqccX0DHqrDWHPZ8ilWSaWQlMRiK0wXwcPOvRvbEkJETZkIKJxgF
29
- FdFk9TXbiqYN/owwcHkhfbpoFtP2VQ3jMsGvMsYDq1r2IZvNLH0O1ZFj+LEmG+TL
30
- E1p79m5ad6mXuceNGNmPacLSkJWLfKZXaxjB8Yz1fINOmnXTBgxP67ix9ini3EM6
31
- reriQxVYXGlD8ZDuaKlDyVqUbF026ZHIlHKIgg90O037qFPxCBACTtxtYTP2hwug
32
- Yis=
26
+ bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBALVY07yDy4um9cYp0ku9
27
+ WMZLWUwsxXsqmhnKcKa552NWhrdnjy/jCdc1fWcsyF60X5FZ4OEIHB2WubTa8/Ty
28
+ fWW/FNQMxAYNUzO8XBZGuE/5m8V3dJL8AlUiuiDLfZoeQAVe6zeaeBWYJenxNBRS
29
+ 8oLbWQukwSlOP62gMme5mVXM0NKc/MeO2wQSRJXjYoGdDCfqgaIImPg7ExME6Fw+
30
+ g09hCEeualN7su6OZYCUknxeGDmCvfO5fQlGmTzAVewWgGApG7XUvM0gJXV8ks0+
31
+ 80WBA6xKwX0zwURD8J7WNieL2iY5AhBg26cHuFLMQGTCyNEeZHZHnJhCwuBcnV1w
32
+ 2zQ=
33
33
  -----END CERTIFICATE-----
34
- date: 2016-10-24 00:00:00.000000000 Z
34
+ date: 2017-03-16 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: aws-sdk
@@ -164,10 +164,12 @@ files:
164
164
  - spec/helpers/files/aws_config
165
165
  - spec/helpers/files/aws_config_nomfa
166
166
  - spec/helpers/files/aws_config_nosource
167
+ - spec/helpers/files/bashrc
168
+ - spec/helpers/utils_spec.rb
167
169
  - spec/spec_helper.rb
168
170
  homepage: https://github.com/vancluever/aws-runas
169
171
  licenses:
170
- - Apache 2.0
172
+ - Apache-2.0
171
173
  metadata: {}
172
174
  post_install_message:
173
175
  rdoc_options: []
@@ -177,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
179
  requirements:
178
180
  - - ">="
179
181
  - !ruby/object:Gem::Version
180
- version: '2.1'
182
+ version: 2.2.6
181
183
  required_rubygems_version: !ruby/object:Gem::Requirement
182
184
  requirements:
183
185
  - - ">="
@@ -185,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
187
  version: '0'
186
188
  requirements: []
187
189
  rubyforge_project:
188
- rubygems_version: 2.5.1
190
+ rubygems_version: 2.6.8
189
191
  signing_key:
190
192
  specification_version: 4
191
193
  summary: Run a command or shell under an assumed AWS IAM role
@@ -198,4 +200,6 @@ test_files:
198
200
  - spec/helpers/files/aws_config
199
201
  - spec/helpers/files/aws_config_nomfa
200
202
  - spec/helpers/files/aws_config_nosource
203
+ - spec/helpers/files/bashrc
204
+ - spec/helpers/utils_spec.rb
201
205
  - spec/spec_helper.rb
metadata.gz.sig CHANGED
Binary file