aws_role_creds 0.0.1 → 0.0.2

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: fd22edec6ed2ef8b88158dad1699d24ffbe9204f
4
- data.tar.gz: 5b2113869f655c4f7d2d490a8592885d05c3f870
3
+ metadata.gz: 753860b6d50a59c85f94b10065c06927d14b2a97
4
+ data.tar.gz: 815dbe6bd48b3160d5d65c23b65729dce665a60d
5
5
  SHA512:
6
- metadata.gz: 2524764e052f74bb59767dcca9c43d0d7caf3793d75c74eedb0a0584c29be5f6a02c7212cc41cc695722577283c9b0e39a11f9ba3dfd43886d3190457607df36
7
- data.tar.gz: fa250abf2b813b45da0bb433bb5d92bb751c7a087e54684f2277f8c7382517f362a945ec1c2df719ccd81764c76298def76f28ee9610cfe4f4e0d812f06f74d6
6
+ metadata.gz: 6711dbe34131e618a6a3bf96de2f8b70cf7f4cea25a63eb3971a9f158ab68d56bf9d15dc10ac21fa7cf7f9985b05723843962f35d020e2b91d87befc4c92e8f4
7
+ data.tar.gz: c787a65c55190a64c174f5cd08ce51471a207a03e59fd0b332aefad5fd3b940f950e0a977f956d052b8e584962ff141ad79d46666ecb446967aba9b2dc988365
@@ -9,7 +9,8 @@ module AwsRoleCreds
9
9
 
10
10
  IN_FILE = "#{ENV['HOME']}/.aws/config.yaml"
11
11
  # The config file we write out
12
- OUT_FILE = ["#{ENV['HOME']}/.aws/config", "#{ENV['HOME']}/.aws/credentials"]
12
+ CONFIG_OUT_FILE = "#{ENV['HOME']}/.aws/config"
13
+ CREDENTIALS_OUT_FILE = "#{ENV['HOME']}/.aws/credentials"
13
14
  SESSION_CREDS_FILE = "#{ENV['HOME']}/.aws/session.yaml"
14
15
  SESSION_DURATION = 86400
15
16
  ROLE_DURATION = 3600
@@ -36,9 +37,8 @@ module AwsRoleCreds
36
37
  region = p['region'] || REGION
37
38
  duration = p['duration'] || SESSION_DURATION
38
39
  if @session_credentials.key?(name)
39
- break if @session_credentials[name]['expiration'] > Time.now
40
+ next if @session_credentials[name]['expiration'] > Time.now
40
41
  end
41
- puts "#{name}"
42
42
 
43
43
  if p['id'] and p['key']
44
44
  client = Aws::STS::Client.new(
@@ -114,38 +114,49 @@ module AwsRoleCreds
114
114
 
115
115
  # Write out config file
116
116
  # first make a backup
117
- OUT_FILE.each do |o|
118
- FileUtils.cp( o, "#{o}.backup" )
119
-
120
- # create a new ini file object
121
- config = IniFile.new
122
- config.filename = o
123
-
124
- config['default'] = { "region" => REGION }
125
-
126
- # set properties
127
- @session_credentials.each do |k, c|
128
- config["profile #{k}"] = {
129
- "aws_access_key_id" => "#{c['access_key_id']}",
130
- "aws_secret_access_key" => "#{c['secret_access_key']}",
131
- "aws_security_token" => "#{c['session_token']}",
132
- "region" => "#{c['region']}",
133
- }
134
- puts "Profile #{k} created"
135
- end
136
117
 
137
- @role_credentials.each do |k, c|
138
- config["profile #{k}"] = {
139
- "aws_access_key_id" => "#{c['access_key_id']}",
140
- "aws_secret_access_key" => "#{c['secret_access_key']}",
141
- "aws_security_token" => "#{c['session_token']}",
142
- "region" => "#{c['region']}",
143
- }
144
- puts "Profile #{k} created for role #{c['role']}"
145
- end
118
+ FileUtils.cp( CONFIG_OUT_FILE, "#{CONFIG_OUT_FILE}.backup" )
119
+ FileUtils.cp( CREDENTIALS_OUT_FILE, "#{CREDENTIALS_OUT_FILE}.backup" )
120
+
121
+ # create a new ini file object
122
+ config = IniFile.new
123
+ config.filename = CONFIG_OUT_FILE
124
+
125
+ credentials = IniFile.new
126
+ credentials.filename = CREDENTIALS_OUT_FILE
146
127
 
147
- # save file
148
- config.write()
128
+ config['default'] = { "region" => REGION }
129
+
130
+ # set properties
131
+ @session_credentials.each do |k, c|
132
+ profile = {
133
+ "aws_access_key_id" => "#{c['access_key_id']}",
134
+ "aws_secret_access_key" => "#{c['secret_access_key']}",
135
+ "aws_security_token" => "#{c['session_token']}",
136
+ "region" => "#{c['region']}",
137
+ }
138
+
139
+ config["profile #{k}"] = profile
140
+ credentials["#{k}"] = profile
149
141
  end
150
142
 
143
+ @role_credentials.each do |k, c|
144
+ profile = {
145
+ "aws_access_key_id" => "#{c['access_key_id']}",
146
+ "aws_secret_access_key" => "#{c['secret_access_key']}",
147
+ "aws_security_token" => "#{c['session_token']}",
148
+ "region" => "#{c['region']}",
149
+ }
150
+
151
+ config["profile #{k}"] = profile
152
+ credentials["#{k}"] = profile
153
+ end
154
+
155
+ # save file
156
+ config.write()
157
+ puts "#{CONFIG_OUT_FILE} updated"
158
+ credentials.write()
159
+ puts "#{CREDENTIALS_OUT_FILE} updated"
160
+
161
+
151
162
  end
@@ -1,3 +1,3 @@
1
1
  module AwsRoleCreds
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_role_creds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Thomas