kumogata 0.2.18 → 0.2.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +2 -2
- data/lib/kumogata.rb +1 -0
- data/lib/kumogata/client.rb +12 -9
- data/lib/kumogata/utils.rb +16 -0
- data/lib/kumogata/version.rb +1 -1
- data/spec/kumogata_create_spec.rb +6 -6
- data/spec/spec_helper.rb +6 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTIzZjQ1YzM3MGFkNzQ0YmRiMjYyMDFlMjVmYjEwMjgzNTliZDU2Mg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTA2ZjU5YTc1YTRjMjE4ZGY0NWUzNzM1ZTBhNjljMDBjNmY4NzhlYQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZmU2OWY3YzBjM2QwYjE1ZjQ0OGE3ZGE0ZmYwOGQ2MDdhNzIxOWM5MGE3YjMx
|
10
|
+
YjgwYjRhMmY0Y2MzMWI4OTFiMmFmMmQxZjRmNzQxNmFmNTZjNGEwZDllZmNh
|
11
|
+
MDU3ZWVmMmYyZDkzOTEzYzEzZDk4OGJjOTQxOWZjMTVhYmRlOGU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjFmZmRjMmY5ODE0MzRhOWQxMmE5MDE4N2ExZmI0YmEwMTllZjA1YWE5ODNk
|
14
|
+
N2MyN2NlNzQwYzI4MWZiZTVjZmM3MTVlZTFkMGQ1MDlkYTkzODVjNzczNDhm
|
15
|
+
MzAwY2IxYjU1MzJjMDU2OTRmYmY3ZGI0ODA1NDY5MzBhYjc1MjU=
|
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
|
-
[![Gem Version](https://badge.fury.io/rb/kumogata.png?
|
9
|
-
[![Build Status](https://drone.io/github.com/winebarrel/kumogata/status.png?
|
8
|
+
[![Gem Version](https://badge.fury.io/rb/kumogata.png?201403072353)](http://badge.fury.io/rb/kumogata)
|
9
|
+
[![Build Status](https://drone.io/github.com/winebarrel/kumogata/status.png?201403072353)](https://drone.io/github.com/winebarrel/kumogata/latest)
|
10
10
|
|
11
11
|
It can define a template in Ruby DSL, such as:
|
12
12
|
|
data/lib/kumogata.rb
CHANGED
data/lib/kumogata/client.rb
CHANGED
@@ -202,7 +202,16 @@ class Kumogata::Client
|
|
202
202
|
end
|
203
203
|
|
204
204
|
def create_stack(template, stack_name)
|
205
|
-
|
205
|
+
unless stack_name
|
206
|
+
user_host = Kumogata::Utils.get_user_host
|
207
|
+
|
208
|
+
stack_name = ['kumogata']
|
209
|
+
stack_name << user_host if user_host
|
210
|
+
stack_name << UUIDTools::UUID.timestamp_create
|
211
|
+
|
212
|
+
stack_name = stack_name.join('-')
|
213
|
+
stack_name.gsub!(/[^-a-zA-Z0-9]+/, '-')
|
214
|
+
end
|
206
215
|
|
207
216
|
Kumogata.logger.info("Creating stack: #{stack_name}".cyan)
|
208
217
|
stack = @cloud_formation.stacks.create(stack_name, template.to_json, build_create_options)
|
@@ -408,7 +417,7 @@ class Kumogata::Client
|
|
408
417
|
:stack_name,
|
409
418
|
:timestamp,
|
410
419
|
].each do |k|
|
411
|
-
event_hash[camelize(k)] = event.send(k)
|
420
|
+
event_hash[Kumogata::Utils.camelize(k)] = event.send(k)
|
412
421
|
end
|
413
422
|
|
414
423
|
event_hash
|
@@ -437,7 +446,7 @@ class Kumogata::Client
|
|
437
446
|
:resource_status_reason,
|
438
447
|
:last_updated_timestamp
|
439
448
|
].each do |k|
|
440
|
-
summary_hash[camelize(k)] = summary[k]
|
449
|
+
summary_hash[Kumogata::Utils.camelize(k)] = summary[k]
|
441
450
|
end
|
442
451
|
|
443
452
|
summary_hash
|
@@ -465,12 +474,6 @@ Stack Resource Summaries:
|
|
465
474
|
end
|
466
475
|
end
|
467
476
|
|
468
|
-
def camelize(str)
|
469
|
-
str.to_s.split(/[-_]/).map {|i|
|
470
|
-
i[0, 1].upcase + i[1..-1].downcase
|
471
|
-
}.join
|
472
|
-
end
|
473
|
-
|
474
477
|
def validate_stack_name(stack_name)
|
475
478
|
return unless stack_name
|
476
479
|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Kumogata::Utils
|
2
|
+
class << self
|
3
|
+
def camelize(str)
|
4
|
+
str.to_s.split(/[-_]/).map {|i|
|
5
|
+
i[0, 1].upcase + i[1..-1].downcase
|
6
|
+
}.join
|
7
|
+
end
|
8
|
+
|
9
|
+
def get_user_host
|
10
|
+
user = `whoami`.strip rescue ''
|
11
|
+
host = `hostname`.strip rescue ''
|
12
|
+
user_host = [user, host].select {|i| not i.empty? }.join('-')
|
13
|
+
user_host.empty? ? nil : user_host
|
14
|
+
end
|
15
|
+
end # of class methods
|
16
|
+
end
|
data/lib/kumogata/version.rb
CHANGED
@@ -48,9 +48,9 @@ end
|
|
48
48
|
|
49
49
|
stacks = make_double('stacks') do |obj|
|
50
50
|
obj.should_receive(:create)
|
51
|
-
.with('kumogata-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', json, {}) { stack }
|
51
|
+
.with('kumogata-user-host-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', json, {}) { stack }
|
52
52
|
obj.should_receive(:[])
|
53
|
-
.with('kumogata-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX') { stack }
|
53
|
+
.with('kumogata-user-host-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX') { stack }
|
54
54
|
end
|
55
55
|
|
56
56
|
cf.should_receive(:stacks).twice { stacks }
|
@@ -114,9 +114,9 @@ end
|
|
114
114
|
|
115
115
|
stacks = make_double('stacks') do |obj|
|
116
116
|
obj.should_receive(:create)
|
117
|
-
.with('kumogata-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', json, {:parameters=>{"InstanceType"=>"m1.large"}}) { stack }
|
117
|
+
.with('kumogata-user-host-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', json, {:parameters=>{"InstanceType"=>"m1.large"}}) { stack }
|
118
118
|
obj.should_receive(:[])
|
119
|
-
.with('kumogata-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX') { stack }
|
119
|
+
.with('kumogata-user-host-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX') { stack }
|
120
120
|
end
|
121
121
|
|
122
122
|
cf.should_receive(:stacks).twice { stacks }
|
@@ -261,9 +261,9 @@ end
|
|
261
261
|
|
262
262
|
stacks = make_double('stacks') do |obj|
|
263
263
|
obj.should_receive(:create)
|
264
|
-
.with('kumogata-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', json, {:parameters=>{"InstanceType"=>"m1.large"}}) { stack }
|
264
|
+
.with('kumogata-user-host-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', json, {:parameters=>{"InstanceType"=>"m1.large"}}) { stack }
|
265
265
|
obj.should_receive(:[])
|
266
|
-
.with('kumogata-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX') { stack }
|
266
|
+
.with('kumogata-user-host-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX') { stack }
|
267
267
|
end
|
268
268
|
|
269
269
|
cf.should_receive(:stacks).twice { stacks }
|
data/spec/spec_helper.rb
CHANGED
@@ -6,6 +6,12 @@ class UUIDTools::UUID
|
|
6
6
|
def self.timestamp_create; 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'; end
|
7
7
|
end
|
8
8
|
|
9
|
+
class Kumogata::Utils
|
10
|
+
def self.get_user_host
|
11
|
+
'user-host'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
9
15
|
def tempfile(content, template_ext)
|
10
16
|
basename = "#{File.basename __FILE__}.#{$$}"
|
11
17
|
basename = [basename, template_ext]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kumogata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
@@ -202,6 +202,7 @@ files:
|
|
202
202
|
- lib/kumogata/ext/json_ext.rb
|
203
203
|
- lib/kumogata/ext/string_ext.rb
|
204
204
|
- lib/kumogata/logger.rb
|
205
|
+
- lib/kumogata/utils.rb
|
205
206
|
- lib/kumogata/version.rb
|
206
207
|
- packer/CentOS-6.4-x86_64-with_Updates-Asia_Pacific.json
|
207
208
|
- packer/Ubuntu-12.04.4-LTS-x86_64-ebs-Asia_Pacific.json
|