miam 0.2.2.beta3 → 0.2.2.beta4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/miam/client.rb +14 -0
  3. data/lib/miam/version.rb +1 -1
  4. metadata +30 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d496d9a9aa4ed9b87d1204a9258cd38d91a7f6fb
4
- data.tar.gz: 33fbbdd4f482125637ffb7f8b89d066b0eb2a49e
3
+ metadata.gz: 64654f7dd61b87210356c2262c05a3fbd503e7ac
4
+ data.tar.gz: ef1bcd855efa64a7fcb4defa1d99993e3f71137d
5
5
  SHA512:
6
- metadata.gz: 8b9ebdd9f3d954e859d5661e676c75546d92a1e33126d56cf0d3fa5f31cd0f43f00af87a3ed5416aa8faa67f1e4a021e87afcdf347cb39ffdeba6bfc83c62a81
7
- data.tar.gz: 5bc040e86752fb87b19e25f56f834e39e97d848397358545ff629948db0a0730f99fb7b78f6e5ce80719a5851b5d6a2b23a7bd5f28fef06ba7cb9140078fa006
6
+ metadata.gz: e9b3b8d9b1882bdb23c56f9291e196953d9cbaad41e05412b74718b1e1efb4d2f176b32a95aa0ab85dc086dff4a1d77c035605edcb4d91a1ef0b0649b7325b9e
7
+ data.tar.gz: ffbe985675b1abc4ec59fd1486550863bcac6b7d0e2c852adc2b2f0c54b8582b6ae3010a2e02c46b7da49f5ba27551e08ced120f1099c48f7c7a04ec8057c46e
data/lib/miam/client.rb CHANGED
@@ -259,6 +259,8 @@ class Miam::Client
259
259
 
260
260
  def walk_assume_role_policy(role_name, expected_assume_role_policy, actual_assume_role_policy)
261
261
  updated = false
262
+ expected_assume_role_policy = recursively_sort_arrays_and_hashes(expected_assume_role_policy)
263
+ actual_assume_role_policy = recursively_sort_arrays_and_hashes(actual_assume_role_policy)
262
264
 
263
265
  if expected_assume_role_policy != actual_assume_role_policy
264
266
  @driver.update_assume_role_policy(role_name, expected_assume_role_policy, actual_assume_role_policy)
@@ -469,6 +471,17 @@ class Miam::Client
469
471
  format_proc.call
470
472
  end
471
473
 
474
+ def recursively_sort_arrays_and_hashes(obj)
475
+ case obj
476
+ when Array
477
+ obj.map!{|v| recursively_sort_arrays_and_hashes(v)}.sort_by!{|v| (v.to_s rescue nil) }
478
+ when Hash
479
+ obj = Hash[Hash[obj.map{|k,v| [recursively_sort_arrays_and_hashes(k),recursively_sort_arrays_and_hashes(v)]}].sort_by{|k,v| [(k.to_s rescue nil), (v.to_s rescue nil)]}]
480
+ else
481
+ obj
482
+ end
483
+ end
484
+
472
485
  def load_json(json)
473
486
  json = JSON.load(json)
474
487
  normalized = {}
@@ -493,6 +506,7 @@ class Miam::Client
493
506
  end
494
507
  end
495
508
 
509
+
496
510
  normalized
497
511
  end
498
512
  end
data/lib/miam/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Miam
2
- VERSION = '0.2.2.beta3'
2
+ VERSION = '0.2.2.beta4'
3
3
  end
metadata CHANGED
@@ -1,167 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2.beta3
4
+ version: 0.2.2.beta4
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-10-09 00:00:00.000000000 Z
11
+ date: 2015-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.0.42
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.0.42
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ruby-progressbar
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: parallel
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: term-ansicolor
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: diffy
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: hashie
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: 3.0.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: 3.0.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rspec-instafail
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - '>='
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: coveralls
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  description: Miam is a tool to manage IAM. It defines the state of IAM using DSL,
@@ -173,9 +173,9 @@ executables:
173
173
  extensions: []
174
174
  extra_rdoc_files: []
175
175
  files:
176
- - ".gitignore"
177
- - ".rspec"
178
- - ".travis.yml"
176
+ - .gitignore
177
+ - .rspec
178
+ - .travis.yml
179
179
  - Gemfile
180
180
  - LICENSE.txt
181
181
  - README.md
@@ -217,17 +217,17 @@ require_paths:
217
217
  - lib
218
218
  required_ruby_version: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - ">="
220
+ - - '>='
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  required_rubygems_version: !ruby/object:Gem::Requirement
224
224
  requirements:
225
- - - ">"
225
+ - - '>'
226
226
  - !ruby/object:Gem::Version
227
227
  version: 1.3.1
228
228
  requirements: []
229
229
  rubyforge_project:
230
- rubygems_version: 2.4.5
230
+ rubygems_version: 2.0.14.1
231
231
  signing_key:
232
232
  specification_version: 4
233
233
  summary: Miam is a tool to manage IAM.