aws_runas 0.5.0 → 0.6.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: 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