aws_runas 0.5.0 → 0.6.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: 9eeec3efe7aee175787d2ac5479086e7fed933ef
4
- data.tar.gz: cf85fb2f0b0da64650789774d7b197d46b94a21d
3
+ metadata.gz: 29d8ce9a9034488a4faa15f5243852d67fb45850
4
+ data.tar.gz: 177b2295df14d918a2a0105527f6fb0c4057b22a
5
5
  SHA512:
6
- metadata.gz: 553fb10ff06a4aad52e00e44c5bb97a8dc2c14b23c4d36817162e129789105d8d6e8b4bb076c092e784167a6df343937adad70e3176760d3fb875184ebf8a62f
7
- data.tar.gz: 11ec64975cc9e6396d32c2b58e60ec411d94d2c684093a5ada606ef288de810ab5672073c9d5ce361d5e3589ce7aba12977169fef16dff5f54545ca9b92d1675
6
+ metadata.gz: 051dc45bdd27dc5a6c93d41f0f3e25cfde3767e8d7b0d0774ef8db619d30136644edfd716d974f1ecdb0850be1c8fc2e1b78a214f4bde92918e28d5c9562dcca
7
+ data.tar.gz: 7508a80014cc4d18de0f7228b7871a519038d8b9a7c83728904abc3d534de9cbc1fc0f1c4355097369766c2a6074778810c2e308b34349902f9a594cb8359d1c
@@ -1,4 +1,3 @@
1
- ��
2
- @9e1�xRD�6��o��u�|�t��������ap��T�$syK[���t?���O9
3
-
4
- R@k�ܾN���?��{x-5M�u�1V��m�N�
1
+ �%��v��b�#�0����k�[pr��ȫ�?U��FM�|��$���V�U���Z9nv1s���,����k%���0}���T&o����,���
2
+ �`�O���&1#n��@�ִ�������܅�#l��_-��zj�|�g)PCs�I�m�b�� 0,������As�@wE�ێFS�
3
+ ��H4U�*��`p%��|�Ӈ�d��=�
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,42 @@
1
+ ## v0.6.0
2
+
3
+ ### Session Duration Support
4
+
5
+ This update brings the `--duration` flag, which allows you to control the
6
+ session duration for both session tokens and assumed roles. Note that the
7
+ maximum depends on what kind of user you are using (IAM versus root account),
8
+ whether or not you are assuming a role or not, and the maximum duration set on
9
+ any role that you are assuming. `aws-runas` may silently truncate the maximum if
10
+ you request it too high, although your session will be rejected when assuming a
11
+ role. For more details, see [GetSesionToken][get-session-token] and
12
+ [AssumeRole][assume-role] for more details.
13
+
14
+ [get-session-token]: https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html
15
+ [assume-role]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
16
+
17
+ Thanks to the work done in
18
+ [#16](https://github.com/vancluever/aws-runas/pull/16) for this!
19
+
20
+ ### Zsh `PROMPT` Support
21
+
22
+ Some issues were discovered where the zsh prompt support was not functioning
23
+ correctly when using shell functions. Colors were not rendering properly as
24
+ well. Thanks to the work in
25
+ [#14](https://github.com/vancluever/aws-runas/pull/14) for the fix on this!
26
+
27
+ ### Better Session IDs
28
+
29
+ `aws-runas` will now expose the IAM user's identity information (account ID/user
30
+ name) and enter it in the session ID, when available. The new format is
31
+ `aws-runas-session_ACCTID_USERNAME_TIMESTAMP` when the user has access to
32
+ [`GetCallerIdentity`][get-caller-identity], and the old
33
+ `aws-runas-session_TIMESTAMP` format when they do not.
34
+
35
+ Thanks to the work done in
36
+ [#11](https://github.com/vancluever/aws-runas/pull/11) for this!
37
+
38
+ [get-caller-identity]: https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html
39
+
1
40
  ## v0.5.0
2
41
 
3
42
  ### Zsh Support
@@ -27,7 +66,7 @@ The default interactive prompt that you get when you run `aws-runas` with no
27
66
  command supplied can now by skipped by adding `--skip-prompt` to the CLI
28
67
  arguments. The profile functions mentioned above are still passed in. This
29
68
  allows you to leverage their functionality inside your own scripts and custom
30
- prompts if you want in other ways.
69
+ prompts if you want in other ways.
31
70
 
32
71
  ### Additional Variables
33
72
 
data/README.md CHANGED
@@ -74,8 +74,9 @@ shells:
74
74
  returns 0 on true and 1 on false, which can be used semantically in shell
75
75
  scripts.
76
76
  * `aws_session_status_color`, which works off of `aws_session_expired` to
77
- render an ANSI numeric color code - red when `aws_session_expired` is `true`,
78
- yellow otherwise.
77
+ render either an ANSI color number (for bash)
78
+ or a human readable color name (for zsh)
79
+ - (red or 31) when `aws_session_expired` is `true`, (yellow or 33) otherwise.
79
80
 
80
81
  #### Skipping the Fancy Prompt
81
82
 
@@ -87,7 +88,7 @@ to you however, which you can use in your own scripts.
87
88
  Usage
88
89
  ------
89
90
 
90
- Install the gem (`gem install aws-runas`), and the command can be run via
91
+ Install the gem (`gem install aws_runas`), and the command can be run via
91
92
  `aws-runas` via your regular `$PATH`.
92
93
 
93
94
  ```
@@ -100,11 +101,12 @@ If COMMAND is omitted, the default shell ($SHELL, /bin/sh, or cmd.exe,
100
101
  depending on your system) will launch.
101
102
 
102
103
  [options] are:
103
- -n, --no-role Get a session token only, do not assume a role
104
- -s, --skip-prompt Do not launch interactive sessions with the fancy prompt
105
- -p, --path=<s> Path to the AWS config file
106
- -r, --profile=<s> The AWS profile to load (default: default)
107
- -h, --help Show this message
104
+ -n, --no-role Get a session token only, do not assume a role
105
+ -s, --skip-prompt Do not launch interactive sessions with the fancy prompt
106
+ -p, --path=<s> Path to the AWS config file
107
+ -r, --profile=<s> The AWS profile to load (default: default)
108
+ -d, --duration=<i> The duration in seconds for temporary credentials (default: 3600)
109
+ -h, --help Show this message
108
110
  ```
109
111
 
110
112
  `--path` is optional, and if omitted will default to the files in the
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
 
38
38
  spec.required_ruby_version = ['>= 2.2.6']
39
39
 
40
- spec.add_dependency 'aws-sdk', '~> 2.6'
40
+ spec.add_dependency 'aws-sdk', '~> 2.11'
41
41
  spec.add_dependency 'inifile', '~> 3.0'
42
42
  spec.add_dependency 'trollop', '~> 2.1'
43
43
 
@@ -1,7 +1,7 @@
1
1
  -----BEGIN CERTIFICATE-----
2
2
  MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQ8wDQYDVQQDDAZjaHJp
3
3
  c20xHjAcBgoJkiaJk/IsZAEZFg52YW5jbHVldmVydGVjaDETMBEGCgmSJomT8ixk
4
- ARkWA2NvbTAeFw0xNzAzMTYxNjM0MTZaFw0xODAzMTYxNjM0MTZaMEYxDzANBgNV
4
+ ARkWA2NvbTAeFw0xODA0MTcwNTExMDdaFw0yMTA0MTYwNTExMDdaMEYxDzANBgNV
5
5
  BAMMBmNocmlzbTEeMBwGCgmSJomT8ixkARkWDnZhbmNsdWV2ZXJ0ZWNoMRMwEQYK
6
6
  CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
7
7
  3i76LgHtAqSINqsk+1joj4bx4Mwk2Dgc5HMSe2MUAUzBxCXMDdlSSSJMBB8ZTXbf
@@ -12,11 +12,11 @@ w3FQeGwDZkvpI6dQxgQKuwNMIZVs39QSu5ltzlrjkFhm4mJKf5Zf1hVjMfKKWJSM
12
12
  BDYULea2Iv+fpGU2SkhrSwIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
13
13
  AgSwMB0GA1UdDgQWBBRJbzaO73nDGmYlgYL+7tEDhL6+FjAkBgNVHREEHTAbgRlj
14
14
  aHJpc21AdmFuY2x1ZXZlcnRlY2guY29tMCQGA1UdEgQdMBuBGWNocmlzbUB2YW5j
15
- bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBALVY07yDy4um9cYp0ku9
16
- WMZLWUwsxXsqmhnKcKa552NWhrdnjy/jCdc1fWcsyF60X5FZ4OEIHB2WubTa8/Ty
17
- fWW/FNQMxAYNUzO8XBZGuE/5m8V3dJL8AlUiuiDLfZoeQAVe6zeaeBWYJenxNBRS
18
- 8oLbWQukwSlOP62gMme5mVXM0NKc/MeO2wQSRJXjYoGdDCfqgaIImPg7ExME6Fw+
19
- g09hCEeualN7su6OZYCUknxeGDmCvfO5fQlGmTzAVewWgGApG7XUvM0gJXV8ks0+
20
- 80WBA6xKwX0zwURD8J7WNieL2iY5AhBg26cHuFLMQGTCyNEeZHZHnJhCwuBcnV1w
21
- 2zQ=
15
+ bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBAHNOOr9CLdo03I/jJ1R0
16
+ lKVglJZFWceZkLzbxyPM/nXHK6Gvzt61d1HEZKCXV3cGrVgQjB5hUjCnp/kI1Ew4
17
+ 5VFSgtIzrSoFYyPpGNq6zvowUHWth48cLRXTOPMQlx1vB/YyAAbKY6yRJq5ymi0V
18
+ VYNEyNVO9No8VVCEVuTEe+Xs6L9ia4IaVxhPRwncGjglM5D8yqyU/i8e+P/wTIrL
19
+ HyhqrYDJXlQSVs5Lvkw26PIcesIYxV4BE9dE9/JBgNKNUwqEIacxZnISop1fPTHO
20
+ /CMDeSP9Z1l0CVvcRsZvmOu3NllZcezFyYi78K+tlmRajCeAV4pWXdcJg26w+u7I
21
+ uK4=
22
22
  -----END CERTIFICATE-----
@@ -40,6 +40,7 @@ module AwsRunAs
40
40
  opt :skip_prompt, 'Do not launch interactive sessions with the fancy prompt', type: TrueClass, default: nil
41
41
  opt :path, 'Path to the AWS config file', type: String
42
42
  opt :profile, 'The AWS profile to load', type: String, default: 'default'
43
+ opt :duration, 'The duration in seconds for temporary credentials', type: Integer, default: 3600
43
44
  stop_on_unknown
44
45
  end
45
46
  end
@@ -49,7 +50,7 @@ module AwsRunAs
49
50
  def start
50
51
  opts = load_opts
51
52
  mfa_code = read_mfa_if_needed(path: opts[:path], profile: opts[:profile])
52
- @main = AwsRunAs::Main.new(path: opts[:path], profile: opts[:profile], mfa_code: mfa_code, no_role: opts[:no_role])
53
+ @main = AwsRunAs::Main.new(path: opts[:path], profile: opts[:profile], mfa_code: mfa_code, no_role: opts[:no_role], duration_seconds: opts[:duration])
53
54
  @main.assume_role
54
55
  command = ARGV.shift
55
56
  @main.handoff(command: command, argv: ARGV, skip_prompt: opts[:skip_prompt])
@@ -26,7 +26,7 @@ module AwsRunAs
26
26
  # and hands off environment to called process.
27
27
  class Main
28
28
  # Instantiate the object and set up the path, profile, and populate MFA
29
- def initialize(path: nil, profile: default, mfa_code: nil, no_role: nil)
29
+ def initialize(path: nil, profile: default, mfa_code: nil, no_role: nil, duration_seconds: 3600)
30
30
  cfg_path = if path
31
31
  path
32
32
  else
@@ -35,6 +35,7 @@ module AwsRunAs
35
35
  @cfg = AwsRunAs::Config.new(path: cfg_path, profile: profile)
36
36
  @mfa_code = mfa_code
37
37
  @no_role = no_role
38
+ @duration_seconds = duration_seconds
38
39
  end
39
40
 
40
41
  def sts_client
@@ -46,16 +47,23 @@ module AwsRunAs
46
47
  )
47
48
  end
48
49
 
50
+ def session_id
51
+ caller_identity = sts_client.get_caller_identity
52
+ "aws-runas-session_#{caller_identity.account}_#{caller_identity.arn.split('/')[-1]}_#{Time.now.to_i}"
53
+ rescue Aws::STS::Errors::AccessDeniedException
54
+ "aws-runas-session_#{Time.now.to_i}"
55
+ end
56
+
49
57
  def assume_role
50
- session_id = "aws-runas-session_#{Time.now.to_i}"
58
+ @role_session_name = session_id
51
59
  role_arn = @cfg.load_config_value(key: 'role_arn')
52
60
  mfa_serial = @cfg.load_config_value(key: 'mfa_serial') unless ENV.include?('AWS_SESSION_TOKEN')
53
61
  if @no_role
54
62
  raise 'No mfa_serial in selected profile, session will be useless' if mfa_serial.nil?
55
63
  @session = sts_client.get_session_token(
56
- duration_seconds: 3600,
57
64
  serial_number: mfa_serial,
58
- token_code: @mfa_code
65
+ token_code: @mfa_code,
66
+ duration_seconds: @duration_seconds
59
67
  )
60
68
  else
61
69
  @session = Aws::AssumeRoleCredentials.new(
@@ -63,7 +71,8 @@ module AwsRunAs
63
71
  role_arn: role_arn,
64
72
  serial_number: mfa_serial,
65
73
  token_code: @mfa_code,
66
- role_session_name: session_id
74
+ role_session_name: @role_session_name,
75
+ duration_seconds: @duration_seconds
67
76
  )
68
77
  end
69
78
  end
@@ -89,6 +98,7 @@ module AwsRunAs
89
98
  env['AWS_SESSION_EXPIRATION'] = @session.expiration.to_s
90
99
  env['AWS_SESSION_EXPIRATION_UNIX'] = DateTime.parse(@session.expiration.to_s).strftime('%s')
91
100
  env['AWS_RUNAS_ASSUMED_ROLE_ARN'] = @cfg.load_config_value(key: 'role_arn')
101
+ env['AWS_ROLE_SESSION_NAME'] = @role_session_name
92
102
  end
93
103
  env
94
104
  end
@@ -37,7 +37,7 @@ module AwsRunAs
37
37
  rc_file.write("#{rc_data}\n") unless rc_data.nil?
38
38
  rc_file.write(IO.read("#{shell_profiles_dir}/sh.profile"))
39
39
  unless skip_prompt
40
- rc_file.write("PS1=\"\\[\\e[\\$(aws_session_status_color)m\\](#{message})\\[\\e[0m\\] $PS1\"\n")
40
+ rc_file.write("PS1=\"\\[\\e[\\$(aws_session_status_color \"bash\")m\\](#{message})\\[\\e[0m\\] $PS1\"\n")
41
41
  end
42
42
  rc_file.close
43
43
  system(env, path, '--rcfile', rc_file.path)
@@ -56,8 +56,8 @@ module AwsRunAs
56
56
  rc_file.write(IO.read("#{shell_profiles_dir}/sh.profile"))
57
57
  unless skip_prompt
58
58
  rc_file.write("setopt PROMPT_SUBST\n")
59
- rc_file.write("export OLDPROMPT=\"${PROMPT}\"\n")
60
- rc_file.write("PROMPT=$'%{\\e[\\%}$(aws_session_status_color)m(#{message})%{\\e[0m%} $OLDPROMPT'\n")
59
+ rc_file.write("OLDPROMPT=\"$PROMPT\"\n")
60
+ rc_file.write("PROMPT=\"%F{$(aws_session_status_color \"zsh\")}(#{message})%f $OLDPROMPT\"\n")
61
61
  end
62
62
  rc_file.close
63
63
  env.store('ZDOTDIR', rc_dir)
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module AwsRunAs
16
- VERSION = '0.5.0'
16
+ VERSION = '0.6.0'
17
17
  end
@@ -10,14 +10,21 @@ aws_session_expired() {
10
10
  return 1
11
11
  }
12
12
 
13
- # aws_session_status_color returns an ANSI color number for the specific status
13
+ # aws_session_status_color returns either an ANSI color number (for bash)
14
+ # or a human readable color name (for zsh) for the specific status
14
15
  # of the session. Note that if session_expired is not correctly functioning,
15
16
  # this will always be yellow. Red is shown when it's verified that the session
16
17
  # has expired.
17
18
  aws_session_status_color() {
18
19
  if aws_session_expired; then
19
- echo "31"
20
+ if [[ "$1" == zsh ]]; then
21
+ echo "red"
22
+ fi
23
+ echo "31"
20
24
  else
21
- echo "33"
25
+ if [[ "$1" == zsh ]]; then
26
+ echo "yellow"
27
+ fi
28
+ echo "33"
22
29
  fi
23
30
  }
@@ -35,12 +35,50 @@ describe AwsRunAs::Main do
35
35
  end
36
36
  end
37
37
 
38
+ describe '#session_id' do
39
+ it 'returns a properly formatted AWS session name for assuming roles' do
40
+ allow_any_instance_of(Aws::STS::Client).to receive(:get_caller_identity) do |obj|
41
+ obj.stub_data(
42
+ :get_caller_identity,
43
+ {
44
+ account: '123456789012',
45
+ arn: 'arn:aws:iam::123456789012:user/Alice',
46
+ user_id: 'AKIAI44QH8DHBEXAMPLE'
47
+ }
48
+ )
49
+ end
50
+ expect(@main.session_id).to eq("aws-runas-session_123456789012_Alice_#{Time.now.to_i}")
51
+ end
52
+
53
+ it 'returns a basic session ID when caller has no access to get_caller_identity' do
54
+ allow_any_instance_of(AwsRunAs::Main).to receive(:sts_client).and_return(
55
+ Aws::STS::Client.new(
56
+ stub_responses: {
57
+ get_caller_identity: 'AccessDeniedException'
58
+ }
59
+ )
60
+ )
61
+ expect(@main.session_id).to eq("aws-runas-session_#{Time.now.to_i}")
62
+ end
63
+ end
64
+
38
65
  describe '#assume_role' do
39
66
  it 'calls out to Aws::AssumeRoleCredentials.new' do
40
67
  expect(Aws::AssumeRoleCredentials).to receive(:new).and_call_original
41
68
  @main.assume_role
42
69
  end
43
70
 
71
+ it 'calls out to Aws::AssumeRoleCredentials.new with a correct session expiration when not default' do
72
+ expect(Aws::AssumeRoleCredentials).to receive(:new).with(hash_including(duration_seconds: 43200)).and_call_original
73
+ @main = AwsRunAs::Main.new(
74
+ path: MOCK_AWS_CONFIGPATH,
75
+ profile: 'test-profile',
76
+ mfa_code: '123456',
77
+ duration_seconds: 43200
78
+ )
79
+ @main.assume_role
80
+ end
81
+
44
82
  it 'calls out to Aws::STS::Client.get_session_token when no_role is set' do
45
83
  expect_any_instance_of(Aws::STS::Client).to receive(:get_session_token).and_call_original
46
84
  ENV.delete('AWS_SESSION_TOKEN')
@@ -53,6 +91,23 @@ describe AwsRunAs::Main do
53
91
  @main.assume_role
54
92
  end
55
93
 
94
+ it 'calls out to Aws::STS::Client.get_session_token correct session expiration when not default' do
95
+ expect_any_instance_of(Aws::STS::Client).to receive(
96
+ :get_session_token
97
+ ).with(
98
+ hash_including(duration_seconds: 43200)
99
+ ).and_call_original
100
+ ENV.delete('AWS_SESSION_TOKEN')
101
+ @main = AwsRunAs::Main.new(
102
+ path: MOCK_AWS_CONFIGPATH,
103
+ profile: 'test-profile',
104
+ mfa_code: '123456',
105
+ no_role: true,
106
+ duration_seconds: 43200
107
+ )
108
+ @main.assume_role
109
+ end
110
+
56
111
  it 'raises exception when no_role is set and there is no mfa_serial' do
57
112
  expect do
58
113
  ENV.delete('AWS_SESSION_TOKEN')
@@ -80,6 +135,16 @@ describe AwsRunAs::Main do
80
135
  allow(File).to receive(:exist?).with(AWS_DEFAULT_CREDENTIALS_PATH).and_return false
81
136
  allow(File).to receive(:read).with(AWS_DEFAULT_CFG_PATH).and_return File.read(MOCK_AWS_NO_SOURCE_PATH)
82
137
  allow(IniFile).to receive(:load).with(AWS_DEFAULT_CFG_PATH).and_return IniFile.load(MOCK_AWS_NO_SOURCE_PATH)
138
+ allow_any_instance_of(Aws::STS::Client).to receive(:get_caller_identity) do |obj|
139
+ obj.stub_data(
140
+ :get_caller_identity,
141
+ {
142
+ account: '123456789012',
143
+ arn: 'arn:aws:iam::123456789012:user/Alice',
144
+ user_id: 'AKIAI44QH8DHBEXAMPLE'
145
+ }
146
+ )
147
+ end
83
148
  allow(Aws::AssumeRoleCredentials).to receive(:new).and_return(
84
149
  Aws::AssumeRoleCredentials.new(
85
150
  role_arn: 'roleARN',
@@ -160,6 +225,9 @@ describe AwsRunAs::Main do
160
225
  it 'has AWS_DEFAULT_REGION set in env' do
161
226
  expect(env['AWS_DEFAULT_REGION']).to eq('us-west-1')
162
227
  end
228
+ it 'has AWS_ROLE_SESSION_NAME set in env' do
229
+ expect(env['AWS_ROLE_SESSION_NAME']).to eq("aws-runas-session_accountType_arnType_#{Time.now.to_i}")
230
+ end
163
231
  end
164
232
 
165
233
  context 'with no role assumed' do
@@ -11,10 +11,10 @@ ZSHRC_FILE_CONTENTS = <<EOS.freeze
11
11
  bazqux
12
12
  EOS
13
13
 
14
- BASHRC_EXPECTED_PROMPT = "PS1=\"\\[\\e[\\$(aws_session_status_color)m\\](AWS:rspec)\\[\\e[0m\\] $PS1\"\n".freeze
15
- ZSHRC_EXPECTED_PROMPT = "PROMPT=$'%{\\e[\\%}$(aws_session_status_color)m(AWS:rspec)%{\\e[0m%} $OLDPROMPT'\n".freeze
14
+ BASHRC_EXPECTED_PROMPT = "PS1=\"\\[\\e[\\$(aws_session_status_color \"bash\")m\\](AWS:rspec)\\[\\e[0m\\] $PS1\"\n".freeze
15
+ ZSHRC_EXPECTED_PROMPT = "PROMPT=\"%F{$(aws_session_status_color \"zsh\")}(AWS:rspec)%f $OLDPROMPT\"\n".freeze
16
16
  ZSHRC_EXPECTED_SETSUBST = "setopt PROMPT_SUBST\n".freeze
17
- ZSHRC_EXPECTED_OLDPROMPT = "export OLDPROMPT=\"${PROMPT}\"\n".freeze
17
+ ZSHRC_EXPECTED_OLDPROMPT = "OLDPROMPT=\"$PROMPT\"\n".freeze
18
18
  ZSH_MOCK_TMPDIR = "#{Dir.tmpdir}/aws_runas_zsh_rspec".freeze
19
19
 
20
20
  EXPECTED_ENV = {
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.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Marchesi
@@ -12,7 +12,7 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQ8wDQYDVQQDDAZjaHJp
14
14
  c20xHjAcBgoJkiaJk/IsZAEZFg52YW5jbHVldmVydGVjaDETMBEGCgmSJomT8ixk
15
- ARkWA2NvbTAeFw0xNzAzMTYxNjM0MTZaFw0xODAzMTYxNjM0MTZaMEYxDzANBgNV
15
+ ARkWA2NvbTAeFw0xODA0MTcwNTExMDdaFw0yMTA0MTYwNTExMDdaMEYxDzANBgNV
16
16
  BAMMBmNocmlzbTEeMBwGCgmSJomT8ixkARkWDnZhbmNsdWV2ZXJ0ZWNoMRMwEQYK
17
17
  CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
18
18
  3i76LgHtAqSINqsk+1joj4bx4Mwk2Dgc5HMSe2MUAUzBxCXMDdlSSSJMBB8ZTXbf
@@ -23,15 +23,15 @@ cert_chain:
23
23
  BDYULea2Iv+fpGU2SkhrSwIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
24
24
  AgSwMB0GA1UdDgQWBBRJbzaO73nDGmYlgYL+7tEDhL6+FjAkBgNVHREEHTAbgRlj
25
25
  aHJpc21AdmFuY2x1ZXZlcnRlY2guY29tMCQGA1UdEgQdMBuBGWNocmlzbUB2YW5j
26
- bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBALVY07yDy4um9cYp0ku9
27
- WMZLWUwsxXsqmhnKcKa552NWhrdnjy/jCdc1fWcsyF60X5FZ4OEIHB2WubTa8/Ty
28
- fWW/FNQMxAYNUzO8XBZGuE/5m8V3dJL8AlUiuiDLfZoeQAVe6zeaeBWYJenxNBRS
29
- 8oLbWQukwSlOP62gMme5mVXM0NKc/MeO2wQSRJXjYoGdDCfqgaIImPg7ExME6Fw+
30
- g09hCEeualN7su6OZYCUknxeGDmCvfO5fQlGmTzAVewWgGApG7XUvM0gJXV8ks0+
31
- 80WBA6xKwX0zwURD8J7WNieL2iY5AhBg26cHuFLMQGTCyNEeZHZHnJhCwuBcnV1w
32
- 2zQ=
26
+ bHVldmVydGVjaC5jb20wDQYJKoZIhvcNAQEFBQADggEBAHNOOr9CLdo03I/jJ1R0
27
+ lKVglJZFWceZkLzbxyPM/nXHK6Gvzt61d1HEZKCXV3cGrVgQjB5hUjCnp/kI1Ew4
28
+ 5VFSgtIzrSoFYyPpGNq6zvowUHWth48cLRXTOPMQlx1vB/YyAAbKY6yRJq5ymi0V
29
+ VYNEyNVO9No8VVCEVuTEe+Xs6L9ia4IaVxhPRwncGjglM5D8yqyU/i8e+P/wTIrL
30
+ HyhqrYDJXlQSVs5Lvkw26PIcesIYxV4BE9dE9/JBgNKNUwqEIacxZnISop1fPTHO
31
+ /CMDeSP9Z1l0CVvcRsZvmOu3NllZcezFyYi78K+tlmRajCeAV4pWXdcJg26w+u7I
32
+ uK4=
33
33
  -----END CERTIFICATE-----
34
- date: 2017-07-16 00:00:00.000000000 Z
34
+ date: 2018-04-17 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: aws-sdk
@@ -39,14 +39,14 @@ dependencies:
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '2.6'
42
+ version: '2.11'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '2.6'
49
+ version: '2.11'
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: inifile
52
52
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  version: '0'
189
189
  requirements: []
190
190
  rubyforge_project:
191
- rubygems_version: 2.6.11
191
+ rubygems_version: 2.6.14.1
192
192
  signing_key:
193
193
  specification_version: 4
194
194
  summary: Run a command or shell under an assumed AWS IAM role
metadata.gz.sig CHANGED
Binary file