aws_runas 0.3.1 → 0.4.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 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