miam 0.2.1 → 0.2.2.beta
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 +4 -4
- data/lib/miam.rb +1 -0
- data/lib/miam/client.rb +4 -4
- data/lib/miam/driver.rb +9 -9
- data/lib/miam/utils.rb +13 -1
- data/lib/miam/version.rb +1 -1
- data/miam.gemspec +1 -0
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe963fe6fae509bed4854e4e671692fcc18c4107
|
4
|
+
data.tar.gz: 231af89b949cdddf357961cdf89e80958c4d5f41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a83c3befa251be6948f7e44de4a29905661c65a251f7eb4198894ff3e84b62438809caf75179d9f8aaa79370a824b49e3e294e7bba6bf22066a1ffb8b0b322da
|
7
|
+
data.tar.gz: 3c527e428ab28af26051c578c9e526573ad381669480e118e43bc06ef8fb152a004d3f84f19b3c48382e803b91a2ec98143ae0adb6587485dc3866002aee1370
|
data/lib/miam.rb
CHANGED
data/lib/miam/client.rb
CHANGED
@@ -133,7 +133,7 @@ class Miam::Client
|
|
133
133
|
@driver.delete_login_profile(user_name)
|
134
134
|
updated = true
|
135
135
|
elsif expected_login_profile != actual_login_profile
|
136
|
-
@driver.update_login_profile(user_name, expected_login_profile)
|
136
|
+
@driver.update_login_profile(user_name, expected_login_profile, actual_login_profile)
|
137
137
|
updated = true
|
138
138
|
end
|
139
139
|
|
@@ -257,7 +257,7 @@ class Miam::Client
|
|
257
257
|
updated = false
|
258
258
|
|
259
259
|
if expected_assume_role_policy != actual_assume_role_policy
|
260
|
-
@driver.update_assume_role_policy(role_name, expected_assume_role_policy)
|
260
|
+
@driver.update_assume_role_policy(role_name, expected_assume_role_policy, actual_assume_role_policy)
|
261
261
|
updated = true
|
262
262
|
end
|
263
263
|
|
@@ -367,7 +367,7 @@ class Miam::Client
|
|
367
367
|
updated = false
|
368
368
|
|
369
369
|
if expected_path != actual_path
|
370
|
-
@driver.update_path(type, user_or_group_name, expected_path)
|
370
|
+
@driver.update_path(type, user_or_group_name, expected_path, actual_path)
|
371
371
|
updated = true
|
372
372
|
end
|
373
373
|
|
@@ -400,7 +400,7 @@ class Miam::Client
|
|
400
400
|
updated = false
|
401
401
|
|
402
402
|
if expected_document != actual_document
|
403
|
-
@driver.update_policy(type, user_or_group_name, policy_name, expected_document)
|
403
|
+
@driver.update_policy(type, user_or_group_name, policy_name, expected_document, actual_document)
|
404
404
|
updated = true
|
405
405
|
end
|
406
406
|
|
data/lib/miam/driver.rb
CHANGED
@@ -91,12 +91,12 @@ class Miam::Driver
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
def update_login_profile(user_name, attrs)
|
94
|
+
def update_login_profile(user_name, attrs, old_attrs)
|
95
95
|
log_attrs = attrs.dup
|
96
96
|
log_attrs.delete(:password)
|
97
97
|
|
98
98
|
log(:info, "Update User `#{user_name}`", :color => :green)
|
99
|
-
log(:info, "
|
99
|
+
log(:info, " login profile:\n".green + Miam::Utils.diff(old_attrs, attrs, :color => @options[:color], :indent => ' '), :color => false)
|
100
100
|
|
101
101
|
unless_dry_run do
|
102
102
|
@iam.update_login_profile(attrs.merge(:user_name => user_name))
|
@@ -226,9 +226,9 @@ class Miam::Driver
|
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
229
|
-
def update_assume_role_policy(role_name, policy_document)
|
229
|
+
def update_assume_role_policy(role_name, policy_document, old_policy_document)
|
230
230
|
log(:info, "Update Role `#{role_name}` > AssumeRolePolicy", :color => :green)
|
231
|
-
log(:info,
|
231
|
+
log(:info, Miam::Utils.diff(old_policy_document, policy_document, :color => @options[:color]), :color => false)
|
232
232
|
|
233
233
|
unless_dry_run do
|
234
234
|
@iam.update_assume_role_policy(
|
@@ -266,13 +266,13 @@ class Miam::Driver
|
|
266
266
|
|
267
267
|
def update_name(type, user_or_group_name, new_name)
|
268
268
|
log(:info, "Update #{Miam::Utils.camelize(type.to_s)} `#{user_or_group_name}`", :color => :green)
|
269
|
-
log(:info, "
|
269
|
+
log(:info, " name:\n".green + Miam::Utils.diff(user_or_group_name, new_name, :color => @options[:color], :indent => ' '), :color => false)
|
270
270
|
update_user_or_group(type, user_or_group_name, "new_#{type}_name".to_sym => new_name)
|
271
271
|
end
|
272
272
|
|
273
|
-
def update_path(type, user_or_group_name, new_path)
|
273
|
+
def update_path(type, user_or_group_name, new_path, old_path)
|
274
274
|
log(:info, "Update #{Miam::Utils.camelize(type.to_s)} `#{user_or_group_name}`", :color => :green)
|
275
|
-
log(:info, "
|
275
|
+
log(:info, " path:\n".green + Miam::Utils.diff(old_path, new_path, :color => @options[:color], :indent => ' '), :color => false)
|
276
276
|
update_user_or_group(type, user_or_group_name, :new_path => new_path)
|
277
277
|
end
|
278
278
|
|
@@ -289,9 +289,9 @@ class Miam::Driver
|
|
289
289
|
put_policy(type, user_or_group_name, policy_name, policy_document)
|
290
290
|
end
|
291
291
|
|
292
|
-
def update_policy(type, user_or_group_name, policy_name, policy_document)
|
292
|
+
def update_policy(type, user_or_group_name, policy_name, policy_document, old_policy_document)
|
293
293
|
log(:info, "Update #{Miam::Utils.camelize(type.to_s)} `#{user_or_group_name}` > Policy `#{policy_name}`", :color => :green)
|
294
|
-
log(:info,
|
294
|
+
log(:info, Miam::Utils.diff(old_policy_document, policy_document, :color => @options[:color]), :color => false)
|
295
295
|
put_policy(type, user_or_group_name, policy_name, policy_document)
|
296
296
|
end
|
297
297
|
|
data/lib/miam/utils.rb
CHANGED
@@ -15,5 +15,17 @@ class Miam::Utils
|
|
15
15
|
str.length
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
|
+
def diff(obj1, obj2, options = {})
|
20
|
+
diffy = Diffy::Diff.new(
|
21
|
+
obj1.pretty_inspect,
|
22
|
+
obj2.pretty_inspect,
|
23
|
+
:diff => '-u'
|
24
|
+
)
|
25
|
+
|
26
|
+
out = diffy.to_s(options[:color] ? :color : :text).gsub(/\s+\z/m, '')
|
27
|
+
out.gsub!(/^/, options[:indent]) if options[:indent]
|
28
|
+
out
|
29
|
+
end
|
30
|
+
end # of class methods
|
19
31
|
end
|
data/lib/miam/version.rb
CHANGED
data/miam.gemspec
CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency 'ruby-progressbar'
|
25
25
|
spec.add_dependency 'parallel'
|
26
26
|
spec.add_dependency 'term-ansicolor'
|
27
|
+
spec.add_dependency 'diffy'
|
27
28
|
spec.add_development_dependency 'bundler'
|
28
29
|
spec.add_development_dependency 'rake'
|
29
30
|
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: diffy
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: bundler
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,12 +204,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
190
204
|
version: '0'
|
191
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
206
|
requirements:
|
193
|
-
- - '
|
207
|
+
- - '>'
|
194
208
|
- !ruby/object:Gem::Version
|
195
|
-
version:
|
209
|
+
version: 1.3.1
|
196
210
|
requirements: []
|
197
211
|
rubyforge_project:
|
198
|
-
rubygems_version: 2.0.14
|
212
|
+
rubygems_version: 2.0.14.1
|
199
213
|
signing_key:
|
200
214
|
specification_version: 4
|
201
215
|
summary: Miam is a tool to manage IAM.
|