kumogata 0.3.10 → 0.3.11
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 +13 -5
- data/README.md +2 -2
- data/lib/kumogata/post_processing.rb +28 -19
- data/lib/kumogata/version.rb +1 -1
- data/spec/kumogata_create_spec.rb +26 -18
- data/spec/kumogata_update_spec.rb +29 -18
- metadata +31 -32
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
Y2UxODIxNjc5ZDcyMmU2ZTgwNmE3NDdhYWEyYzEwNDhmYmUxOTI3NA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ODgzY2QxYTQ0ZGU2ZDI5MGJlYzNhMDI3NDQwMjUzZmZmZjAyNTcwYg==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MzdkMmIwOTgxZjllOTRhYmVmZTQyMDFkMTk1MjUyNzgyNGEzZTRiMmUzNDYw
|
10
|
+
ZWMzYjFlMTRlNmE3YzRmMTYyY2VkOWEwYzc3MjE0MmI3ZGI3YjRhNGM5ZTQw
|
11
|
+
NGFiZGRjZTAxMjNiZGMxMDIzM2YzZGZlZmI2YjRmZjBjNWFkNTA=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MDQxNzMzNmZiMDZiZWM4MjA0YzNhMDkwMDIxMGZkODFjOTAxZWEyOTZmY2Ew
|
14
|
+
NWE1N2RjY2E0NmU1OWJlMmQ1ZmZlMDE2OWIwNTcyOWQ5MmI2Zjc2MmQzMThi
|
15
|
+
ODdhYmZjNTczMDMwYzBlMzk1ZTU5OTA1ZWZjZThmZDUyOWFlMWU=
|
data/README.md
CHANGED
@@ -5,8 +5,8 @@
|
|
5
5
|
|
6
6
|
Kumogata is a tool for [AWS CloudFormation](https://aws.amazon.com/cloudformation/).
|
7
7
|
|
8
|
-
[](http://badge.fury.io/rb/kumogata)
|
9
|
+
[](https://drone.io/github.com/winebarrel/kumogata/latest)
|
10
10
|
|
11
11
|
It can define a template in Ruby DSL, such as:
|
12
12
|
|
@@ -19,15 +19,16 @@ class Kumogata::PostProcessing
|
|
19
19
|
@command_options.merge(options)
|
20
20
|
|
21
21
|
_post.fetch(:commands).each do |name, attrs|
|
22
|
+
unless attrs.kind_of?(Hash) and attrs['command']
|
23
|
+
raise "Invalid post processing: #{name} => #{attrs.inspect}"
|
24
|
+
end
|
25
|
+
|
22
26
|
timing = [(attrs['after'] || TRIGGER_TIMING)].flatten.map {|i| i.to_sym }
|
23
27
|
validate_timing(name, timing)
|
24
28
|
|
25
|
-
command = attrs['command']
|
26
|
-
next unless command
|
27
|
-
|
28
29
|
@commands[name] = {
|
29
30
|
:after => timing,
|
30
|
-
:command => command,
|
31
|
+
:command => attrs['command'],
|
31
32
|
}
|
32
33
|
|
33
34
|
if (ssh = attrs['ssh'])
|
@@ -43,8 +44,17 @@ class Kumogata::PostProcessing
|
|
43
44
|
@commands.each do |name, attrs|
|
44
45
|
next unless attrs[:after].include?(timing)
|
45
46
|
|
47
|
+
print_command(name)
|
46
48
|
out, err, status = run_command(attrs, outputs)
|
47
|
-
|
49
|
+
print_command_result(out, err, status)
|
50
|
+
|
51
|
+
results << {
|
52
|
+
name => {
|
53
|
+
'ExitStatus' => status.to_i,
|
54
|
+
'StdOut' => out.force_encoding('UTF-8'),
|
55
|
+
'StdErr' => err.force_encoding('UTF-8'),
|
56
|
+
}
|
57
|
+
}
|
48
58
|
end
|
49
59
|
|
50
60
|
save_command_results(results) unless results.empty?
|
@@ -55,7 +65,7 @@ class Kumogata::PostProcessing
|
|
55
65
|
def validate_timing(name, timing)
|
56
66
|
timing.each do |t|
|
57
67
|
unless TRIGGER_TIMING.include?(t)
|
58
|
-
raise "Unknown post processing timing #{
|
68
|
+
raise "Unknown post processing timing: #{name} => #{timing.inspect}"
|
59
69
|
end
|
60
70
|
end
|
61
71
|
end
|
@@ -64,12 +74,12 @@ class Kumogata::PostProcessing
|
|
64
74
|
host, user, options = ssh.values_at('host', 'user', 'options')
|
65
75
|
|
66
76
|
unless host and user
|
67
|
-
raise "`host` and `user` is required for post processing ssh
|
77
|
+
raise "`host` and `user` is required for post processing ssh: #{name}"
|
68
78
|
end
|
69
79
|
|
70
80
|
if host.kind_of?(Hash)
|
71
81
|
if host.keys != ['Key']
|
72
|
-
raise "Invalid post processing ssh host #{
|
82
|
+
raise "Invalid post processing ssh host: #{name} => #{host.inspect}"
|
73
83
|
end
|
74
84
|
|
75
85
|
host_key, host_value = host.first
|
@@ -80,7 +90,7 @@ class Kumogata::PostProcessing
|
|
80
90
|
|
81
91
|
if user.kind_of?(Hash)
|
82
92
|
if user.keys != ['Key']
|
83
|
-
raise "Invalid post processing ssh user #{
|
93
|
+
raise "Invalid post processing ssh user: #{name} => #{user.inspect}"
|
84
94
|
end
|
85
95
|
|
86
96
|
user_key, user_value = user.first
|
@@ -90,7 +100,7 @@ class Kumogata::PostProcessing
|
|
90
100
|
end
|
91
101
|
|
92
102
|
if options and not options.kind_of?(Hash)
|
93
|
-
raise "Invalid post processing ssh options #{
|
103
|
+
raise "Invalid post processing ssh options: #{name} => #{options.inspect}"
|
94
104
|
end
|
95
105
|
end
|
96
106
|
|
@@ -178,26 +188,25 @@ class Kumogata::PostProcessing
|
|
178
188
|
EOS
|
179
189
|
end
|
180
190
|
|
181
|
-
def
|
191
|
+
def print_command(name)
|
192
|
+
puts <<-EOS
|
193
|
+
|
194
|
+
Command: #{name.intense_blue}
|
195
|
+
EOS
|
196
|
+
end
|
197
|
+
|
198
|
+
def print_command_result(out, err, status)
|
182
199
|
status = status.to_i
|
183
200
|
dspout = (out || '').lines.map {|i| "1> ".intense_green + i }.join.chomp
|
184
201
|
dsperr = (err || '').lines.map {|i| "2> ".intense_red + i }.join.chomp
|
185
202
|
|
186
203
|
puts <<-EOS
|
187
|
-
|
188
|
-
Command: #{name.intense_blue}
|
189
204
|
Status: #{status.zero? ? status : status.to_s.red}#{
|
190
205
|
dspout.empty? ? '' : ("\n---\n" + dspout)
|
191
206
|
}#{
|
192
207
|
dsperr.empty? ? '' : ("\n---\n" + dsperr)
|
193
208
|
}
|
194
209
|
EOS
|
195
|
-
|
196
|
-
{name => {
|
197
|
-
'ExitStatus' => status,
|
198
|
-
'StdOut' => out.force_encoding('UTF-8'),
|
199
|
-
'StdErr' => err.force_encoding('UTF-8'),
|
200
|
-
}}
|
201
210
|
end
|
202
211
|
|
203
212
|
def save_command_results(results)
|
data/lib/kumogata/version.rb
CHANGED
@@ -143,27 +143,30 @@ end
|
|
143
143
|
|
144
144
|
cf.should_receive(:stacks).twice { stacks }
|
145
145
|
|
146
|
-
process_status1 =
|
147
|
-
process_status2 =
|
146
|
+
process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
|
147
|
+
process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
|
148
148
|
|
149
149
|
Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
|
150
150
|
.and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
|
151
151
|
Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
|
152
152
|
.and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
|
153
153
|
|
154
|
+
client.instance_variable_get(:@post_processing)
|
155
|
+
.should_receive(:print_command).with('command_a')
|
156
|
+
client.instance_variable_get(:@post_processing)
|
157
|
+
.should_receive(:print_command).with('command_b')
|
158
|
+
|
154
159
|
client.instance_variable_get(:@post_processing)
|
155
160
|
.should_receive(:print_command_result)
|
156
|
-
.with(
|
157
|
-
.and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
|
161
|
+
.with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
|
158
162
|
client.instance_variable_get(:@post_processing)
|
159
163
|
.should_receive(:print_command_result)
|
160
|
-
.with(
|
161
|
-
.and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
|
164
|
+
.with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
|
162
165
|
|
163
166
|
client.instance_variable_get(:@post_processing)
|
164
167
|
.should_receive(:save_command_results)
|
165
|
-
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\
|
166
|
-
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\
|
168
|
+
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
|
169
|
+
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
|
167
170
|
end
|
168
171
|
end
|
169
172
|
|
@@ -240,10 +243,12 @@ end
|
|
240
243
|
Net::SSH.should_receive(:start).with("127.0.0.1", "ec2-user")
|
241
244
|
.and_return(["file1\nfile2\n", "", 0])
|
242
245
|
|
246
|
+
client.instance_variable_get(:@post_processing)
|
247
|
+
.should_receive(:print_command).with('ssh_command')
|
248
|
+
|
243
249
|
client.instance_variable_get(:@post_processing)
|
244
250
|
.should_receive(:print_command_result)
|
245
|
-
.with(
|
246
|
-
.and_return('ssh_command' => {'ExitStatus' => 0, 'StdOut' => "file1\nfile2\n", 'StdErr' => ""})
|
251
|
+
.with("file1\nfile2\n", "", 0)
|
247
252
|
|
248
253
|
client.instance_variable_get(:@post_processing)
|
249
254
|
.should_receive(:save_command_results)
|
@@ -337,27 +342,30 @@ end
|
|
337
342
|
|
338
343
|
cf.should_receive(:stacks).twice { stacks }
|
339
344
|
|
340
|
-
process_status1 =
|
341
|
-
process_status2 =
|
345
|
+
process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
|
346
|
+
process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
|
342
347
|
|
343
348
|
Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
|
344
349
|
.and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
|
345
350
|
Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
|
346
351
|
.and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
|
347
352
|
|
353
|
+
client.instance_variable_get(:@post_processing)
|
354
|
+
.should_receive(:print_command).with('command_a')
|
355
|
+
client.instance_variable_get(:@post_processing)
|
356
|
+
.should_receive(:print_command).with('command_b')
|
357
|
+
|
348
358
|
client.instance_variable_get(:@post_processing)
|
349
359
|
.should_receive(:print_command_result)
|
350
|
-
.with(
|
351
|
-
.and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
|
360
|
+
.with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
|
352
361
|
client.instance_variable_get(:@post_processing)
|
353
362
|
.should_receive(:print_command_result)
|
354
|
-
.with(
|
355
|
-
.and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
|
363
|
+
.with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
|
356
364
|
|
357
365
|
client.instance_variable_get(:@post_processing)
|
358
366
|
.should_receive(:save_command_results)
|
359
|
-
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\
|
360
|
-
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\
|
367
|
+
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
|
368
|
+
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
|
361
369
|
end
|
362
370
|
end
|
363
371
|
|
@@ -137,27 +137,31 @@ end
|
|
137
137
|
|
138
138
|
cf.should_receive(:stacks) { stacks }
|
139
139
|
|
140
|
-
|
141
|
-
|
140
|
+
|
141
|
+
process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
|
142
|
+
process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
|
142
143
|
|
143
144
|
Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
|
144
145
|
.and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
|
145
146
|
Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
|
146
147
|
.and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
|
147
148
|
|
149
|
+
client.instance_variable_get(:@post_processing)
|
150
|
+
.should_receive(:print_command).with('command_a')
|
151
|
+
client.instance_variable_get(:@post_processing)
|
152
|
+
.should_receive(:print_command).with('command_b')
|
153
|
+
|
148
154
|
client.instance_variable_get(:@post_processing)
|
149
155
|
.should_receive(:print_command_result)
|
150
|
-
.with(
|
151
|
-
.and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
|
156
|
+
.with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
|
152
157
|
client.instance_variable_get(:@post_processing)
|
153
158
|
.should_receive(:print_command_result)
|
154
|
-
.with(
|
155
|
-
.and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
|
159
|
+
.with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
|
156
160
|
|
157
161
|
client.instance_variable_get(:@post_processing)
|
158
162
|
.should_receive(:save_command_results)
|
159
|
-
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\
|
160
|
-
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\
|
163
|
+
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
|
164
|
+
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
|
161
165
|
end
|
162
166
|
end
|
163
167
|
|
@@ -231,14 +235,17 @@ end
|
|
231
235
|
Net::SSH.should_receive(:start).with("127.0.0.1", "ec2-user")
|
232
236
|
.and_return(["file1\nfile2\n", "", 0])
|
233
237
|
|
238
|
+
client.instance_variable_get(:@post_processing)
|
239
|
+
.should_receive(:print_command).with('ssh_command')
|
240
|
+
|
234
241
|
client.instance_variable_get(:@post_processing)
|
235
242
|
.should_receive(:print_command_result)
|
236
|
-
.with(
|
237
|
-
.and_return('ssh_command' => {'ExitStatus' => 0, 'StdOut' => "file1\nfile2\n", 'StdErr' => ""})
|
243
|
+
.with("file1\nfile2\n", "", 0)
|
238
244
|
|
239
245
|
client.instance_variable_get(:@post_processing)
|
240
246
|
.should_receive(:save_command_results)
|
241
247
|
.with([{'ssh_command' => {'ExitStatus' => 0, 'StdOut' => "file1\nfile2\n", 'StdErr' => ""}}])
|
248
|
+
|
242
249
|
end
|
243
250
|
end
|
244
251
|
|
@@ -325,27 +332,31 @@ end
|
|
325
332
|
|
326
333
|
cf.should_receive(:stacks) { stacks }
|
327
334
|
|
328
|
-
|
329
|
-
|
335
|
+
|
336
|
+
process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
|
337
|
+
process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
|
330
338
|
|
331
339
|
Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
|
332
340
|
.and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
|
333
341
|
Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
|
334
342
|
.and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
|
335
343
|
|
344
|
+
client.instance_variable_get(:@post_processing)
|
345
|
+
.should_receive(:print_command).with('command_a')
|
346
|
+
client.instance_variable_get(:@post_processing)
|
347
|
+
.should_receive(:print_command).with('command_b')
|
348
|
+
|
336
349
|
client.instance_variable_get(:@post_processing)
|
337
350
|
.should_receive(:print_command_result)
|
338
|
-
.with(
|
339
|
-
.and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
|
351
|
+
.with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
|
340
352
|
client.instance_variable_get(:@post_processing)
|
341
353
|
.should_receive(:print_command_result)
|
342
|
-
.with(
|
343
|
-
.and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
|
354
|
+
.with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
|
344
355
|
|
345
356
|
client.instance_variable_get(:@post_processing)
|
346
357
|
.should_receive(:save_command_results)
|
347
|
-
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\
|
348
|
-
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\
|
358
|
+
.with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
|
359
|
+
{'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
|
349
360
|
end
|
350
361
|
end
|
351
362
|
|
metadata
CHANGED
@@ -1,195 +1,195 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kumogata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - '>='
|
17
|
+
- - ! '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
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: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: coderay
|
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: diffy
|
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: dslh
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - '>='
|
59
|
+
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.2.5
|
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.2.5
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: hashie
|
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: highline
|
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: json
|
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: :runtime
|
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: net-ssh
|
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: :runtime
|
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: term-ansicolor
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - '>='
|
129
|
+
- - ! '>='
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
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: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: uuidtools
|
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: :runtime
|
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: bundler
|
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
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: rake
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - '>='
|
171
|
+
- - ! '>='
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - '>='
|
178
|
+
- - ! '>='
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: rspec
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
|
-
- - '>='
|
185
|
+
- - ! '>='
|
186
186
|
- !ruby/object:Gem::Version
|
187
187
|
version: 2.11.0
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
|
-
- - '>='
|
192
|
+
- - ! '>='
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 2.11.0
|
195
195
|
description: A tool for AWS CloudFormation. It can define a template in Ruby DSL.
|
@@ -246,17 +246,17 @@ require_paths:
|
|
246
246
|
- lib
|
247
247
|
required_ruby_version: !ruby/object:Gem::Requirement
|
248
248
|
requirements:
|
249
|
-
- - '>='
|
249
|
+
- - ! '>='
|
250
250
|
- !ruby/object:Gem::Version
|
251
251
|
version: '0'
|
252
252
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
253
|
requirements:
|
254
|
-
- - '>='
|
254
|
+
- - ! '>='
|
255
255
|
- !ruby/object:Gem::Version
|
256
256
|
version: '0'
|
257
257
|
requirements: []
|
258
258
|
rubyforge_project:
|
259
|
-
rubygems_version: 2.
|
259
|
+
rubygems_version: 2.1.11
|
260
260
|
signing_key:
|
261
261
|
specification_version: 4
|
262
262
|
summary: A tool for AWS CloudFormation.
|
@@ -276,4 +276,3 @@ test_files:
|
|
276
276
|
- spec/kumogata_update_spec.rb
|
277
277
|
- spec/kumogata_validate_spec.rb
|
278
278
|
- spec/spec_helper.rb
|
279
|
-
has_rdoc:
|