lono 2.1.0 → 3.0.0

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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +16 -284
  4. data/lib/lono.rb +6 -0
  5. data/lib/lono/cfn.rb +5 -0
  6. data/lib/lono/cfn/base.rb +86 -9
  7. data/lib/lono/cfn/create.rb +27 -2
  8. data/lib/lono/cfn/help.rb +12 -12
  9. data/lib/lono/cfn/preview.rb +12 -11
  10. data/lib/lono/cfn/update.rb +3 -2
  11. data/lib/lono/default/settings.yml +13 -0
  12. data/lib/lono/env.rb +11 -0
  13. data/lib/lono/param.rb +1 -1
  14. data/lib/lono/param/generator.rb +144 -22
  15. data/lib/lono/settings.rb +28 -0
  16. data/lib/lono/template.rb +13 -2
  17. data/lib/lono/template/aws_services.rb +7 -0
  18. data/lib/lono/template/dsl.rb +24 -33
  19. data/lib/lono/template/helpers.rb +144 -0
  20. data/lib/lono/template/template.rb +69 -68
  21. data/lib/lono/template/upload.rb +75 -0
  22. data/lib/lono/version.rb +1 -1
  23. data/lib/starter_projects/json_project/config/{lono.rb → templates/base/blog.rb} +3 -3
  24. data/lib/starter_projects/{yaml_project/config/lono/api.rb → json_project/config/templates/base/stacks.rb} +9 -9
  25. data/lib/starter_projects/json_project/templates/{db.json.erb → db.json} +1 -1
  26. data/lib/starter_projects/json_project/templates/partial/{host_record.json.erb → host_record.json} +0 -0
  27. data/lib/starter_projects/json_project/templates/partial/{server.json.erb → server.json} +2 -2
  28. data/lib/starter_projects/json_project/templates/user_data/{app.sh.erb → app.sh} +0 -0
  29. data/lib/starter_projects/json_project/templates/user_data/{db.sh.erb → db.sh} +0 -0
  30. data/lib/starter_projects/json_project/templates/user_data/{db2.sh.erb → db2.sh} +0 -0
  31. data/lib/starter_projects/json_project/templates/user_data/{ruby_script.rb.erb → ruby_script.rb} +0 -0
  32. data/lib/starter_projects/json_project/templates/{web.json.erb → web.json} +2 -2
  33. data/lib/starter_projects/yaml_project/config/{lono.rb → templates/base/blog.rb} +4 -8
  34. data/lib/starter_projects/{json_project/config/lono/api.rb → yaml_project/config/templates/base/stacks.rb} +11 -13
  35. data/lib/starter_projects/yaml_project/config/templates/prod/stacks.rb +1 -0
  36. data/lib/starter_projects/yaml_project/config/templates/stag/stacks.rb +1 -0
  37. data/lib/starter_projects/yaml_project/config/variables/base/variables.rb +4 -0
  38. data/lib/starter_projects/yaml_project/config/variables/prod/variables.rb +1 -0
  39. data/lib/starter_projects/yaml_project/config/variables/stag/variables.rb +1 -0
  40. data/lib/starter_projects/yaml_project/helpers/my_custom_helper.rb +17 -0
  41. data/lib/starter_projects/yaml_project/params/{api-web-prod.txt → base/api-web-prod.txt} +0 -0
  42. data/lib/starter_projects/yaml_project/params/{example.txt → base/example.txt} +0 -0
  43. data/lib/starter_projects/yaml_project/params/prod/example.txt +1 -0
  44. data/lib/starter_projects/yaml_project/params/stag/example.txt +1 -0
  45. data/lib/starter_projects/yaml_project/templates/{db.yml.erb → db.yml} +1 -1
  46. data/lib/starter_projects/yaml_project/templates/{example.yml.erb → example.yml} +0 -0
  47. data/lib/starter_projects/yaml_project/templates/partial/{host_record.yml.erb → host_record.yml} +0 -0
  48. data/lib/starter_projects/yaml_project/templates/partial/{server.yml.erb → server.yml} +0 -0
  49. data/lib/starter_projects/yaml_project/templates/partial/user_data/{bootstrap.sh.erb → bootstrap.sh} +0 -0
  50. data/lib/starter_projects/yaml_project/templates/{web.yml.erb → web.yml} +2 -2
  51. data/lono.gemspec +1 -0
  52. data/spec/fixtures/params/baseonly/params/base/network.txt +1 -0
  53. data/spec/fixtures/params/envonly/params/prod/network.txt +1 -0
  54. data/spec/fixtures/params/overlay/params/base/network.txt +1 -0
  55. data/spec/fixtures/params/overlay/params/prod/network.txt +1 -0
  56. data/spec/lib/lono/new_spec.rb +1 -1
  57. data/spec/lib/lono/param/generator_spec.rb +34 -0
  58. data/spec/lib/lono/template/dsl_spec.rb +1 -1
  59. data/spec/lib/lono/template_spec.rb +5 -0
  60. metadata +60 -22
@@ -1,3 +1,3 @@
1
1
  module Lono
2
- VERSION = "2.1.0"
2
+ VERSION = "3.0.0"
3
3
  end
@@ -1,6 +1,6 @@
1
- template "blog-web-prod.json" do
2
- app,role,env = name.sub('.json','').split('-')
3
- source "web.json.erb"
1
+ template "blog-web-prod" do
2
+ app,role,env = name.split('-')
3
+ source "web"
4
4
  variables(
5
5
  env: env,
6
6
  app: app,
@@ -1,5 +1,5 @@
1
- template "api-web-prod.yml" do
2
- source "web.yml.erb"
1
+ template "api-web-prod" do
2
+ source "web"
3
3
  variables(
4
4
  ami: "ami-123",
5
5
  instance_type: "t2.small",
@@ -16,8 +16,8 @@ template "api-web-prod.yml" do
16
16
  )
17
17
  end
18
18
 
19
- template "api-worker-prod.yml" do
20
- source "web.yml.erb"
19
+ template "api-worker-prod" do
20
+ source "web"
21
21
  variables(
22
22
  ami: "ami-123",
23
23
  instance_type: "t2.small",
@@ -30,13 +30,13 @@ template "api-worker-prod.yml" do
30
30
  min_size: "6",
31
31
  down_adjustment: "-3",
32
32
  up_adjustment: "3",
33
- user_data_script: "ruby_script.rb.erb",
33
+ user_data_script: "ruby_script.rb",
34
34
  ssl_cert: "arn:aws:iam::12345:server-certificate/wildcard"
35
35
  )
36
36
  end
37
37
 
38
- template "api-redis-prod.yml" do
39
- source "db.yml.erb"
38
+ template "api-redis-prod" do
39
+ source "db"
40
40
  variables(
41
41
  ami: "ami-456",
42
42
  instance_type: "t2.small",
@@ -46,8 +46,8 @@ template "api-redis-prod.yml" do
46
46
  )
47
47
  end
48
48
 
49
- template "parent/db-stack.yml" do
50
- source "db.yml.erb"
49
+ template "parent/db-stack" do
50
+ source "db"
51
51
  variables(
52
52
  ami: "ami-456",
53
53
  instance_type: "t2.small",
@@ -207,6 +207,6 @@
207
207
  "WaitHandle": {
208
208
  "Type": "AWS::CloudFormation::WaitConditionHandle"
209
209
  },
210
- <%= partial("server.json.erb") %>
210
+ <%= partial("server") %>
211
211
  }
212
212
  }
@@ -34,8 +34,8 @@
34
34
  "Fn::Join": [
35
35
  "",
36
36
  [
37
- <%= user_data('db.sh.erb', vartest: 'foo') %>,
38
- <%= user_data('db2.sh.erb') %>
37
+ <%= user_data('db.sh', vartest: 'foo') %>,
38
+ <%= user_data('db2.sh') %>
39
39
  ]
40
40
  ]
41
41
  }
@@ -179,7 +179,7 @@
179
179
  },
180
180
  "Type": "AWS::CloudWatch::Alarm"
181
181
  },
182
- <%= partial("host_record.json.erb", domain: "mydomain.com") %>
182
+ <%= partial("host_record", domain: "mydomain.com") %>
183
183
  "LaunchConfig": {
184
184
  "Properties": {
185
185
  "BlockDeviceMappings": [
@@ -235,7 +235,7 @@
235
235
  "Fn::Join": [
236
236
  "",
237
237
  [
238
- <% script = @user_data_script || 'app.sh.erb' %>
238
+ <% script = @user_data_script || 'app.sh' %>
239
239
  <%= user_data(script) %>
240
240
  ]
241
241
  ]
@@ -1,15 +1,10 @@
1
- template "example.yml" do
2
- source "example.yml.erb"
3
- end
4
-
5
- template "blog-web-prod.yml" do
6
- app,role,env = name.sub('.yml','').split('-')
7
- source "web.yml.erb"
1
+ template "blog-web-prod" do
2
+ app,role,env = name.split('-')
3
+ source "web"
8
4
  variables(
9
5
  env: env,
10
6
  app: app,
11
7
  role: role,
12
- ami: "ami-4836a428", # us-west-2
13
8
  instance_type: "t2.small",
14
9
  port: "80",
15
10
  high_threshold: "35",
@@ -22,3 +17,4 @@ template "blog-web-prod.yml" do
22
17
  up_adjustment: "2"
23
18
  )
24
19
  end
20
+
@@ -1,7 +1,8 @@
1
- template "api-web-prod.json" do
2
- source "web.json.erb"
1
+ template "example"
2
+
3
+ template "api-web-prod" do
4
+ source "web"
3
5
  variables(
4
- ami: "ami-123",
5
6
  instance_type: "t2.small",
6
7
  port: "80",
7
8
  high_threshold: "15",
@@ -16,10 +17,9 @@ template "api-web-prod.json" do
16
17
  )
17
18
  end
18
19
 
19
- template "api-worker-prod.json" do
20
- source "web.json.erb"
20
+ template "api-worker-prod" do
21
+ source "web"
21
22
  variables(
22
- ami: "ami-123",
23
23
  instance_type: "t2.small",
24
24
  port: "80",
25
25
  high_threshold: "15",
@@ -30,15 +30,14 @@ template "api-worker-prod.json" do
30
30
  min_size: "6",
31
31
  down_adjustment: "-3",
32
32
  up_adjustment: "3",
33
- user_data_script: "ruby_script.rb.erb",
33
+ user_data_script: "ruby_script.rb",
34
34
  ssl_cert: "arn:aws:iam::12345:server-certificate/wildcard"
35
35
  )
36
36
  end
37
37
 
38
- template "api-redis-prod.json" do
39
- source "db.json.erb"
38
+ template "api-redis-prod" do
39
+ source "db"
40
40
  variables(
41
- ami: "ami-456",
42
41
  instance_type: "t2.small",
43
42
  port: "80",
44
43
  volume_size: "20",
@@ -46,10 +45,9 @@ template "api-redis-prod.json" do
46
45
  )
47
46
  end
48
47
 
49
- template "parent/db-stack.json" do
50
- source "db.json.erb"
48
+ template "parent/db-stack" do
49
+ source "db"
51
50
  variables(
52
- ami: "ami-456",
53
51
  instance_type: "t2.small",
54
52
  port: "80",
55
53
  volume_size: "20",
@@ -0,0 +1 @@
1
+ # resources that only exist in the prod environment
@@ -0,0 +1 @@
1
+ # resources that only exist in the stag environment
@@ -0,0 +1,4 @@
1
+ @ami = "ami-123"
2
+ @base_only = "base-only-test"
3
+ @prod_override = "overridden-by-whats-in-prod"
4
+ @stag_override = "overridden-by-whats-in-stag"
@@ -0,0 +1 @@
1
+ @prod_override = "prod-override-test"
@@ -0,0 +1 @@
1
+ @stag_override = "stag-override-test"
@@ -0,0 +1,17 @@
1
+ # File must be name in underscore casing and the module name must be named in
2
+ # CamelizeCasing. The file must also end in _helper.rb by convention.
3
+ # More info http://lono.cloud/docs/helpers
4
+ # Custom Helpers are loaed into the same scope as built-in lono helpers and are
5
+ # treated a first class citizens. They have access to all the same methods
6
+ # and instance variable as the built-in lono helpers.
7
+ module MyCustomHelper
8
+ # This example helper method checks if the file path exists and fails gracefully
9
+ # the built-in partial fails hard.
10
+ def shared_partial(name, options={}, indent=0)
11
+ partial_name = "shared/#{name}.yml.erb"
12
+ if partial_exist?(partial_name) # partial_exist? is built-in lono helper
13
+ result << partial(partial_name, {}, indent: indent)
14
+ result.join("\n")
15
+ end
16
+ end
17
+ end
@@ -0,0 +1 @@
1
+ InstanceType=m4.large
@@ -0,0 +1 @@
1
+ InstanceType=m4.small
@@ -145,4 +145,4 @@ Resources:
145
145
  Type: AWS::CloudFormation::WaitCondition
146
146
  WaitHandle:
147
147
  Type: AWS::CloudFormation::WaitConditionHandle
148
- <%= partial("server.yml.erb") %>
148
+ <%= partial("server") %>
@@ -105,7 +105,7 @@ Resources:
105
105
  Statistic: Average
106
106
  Threshold: '<%= @low_threshold %>'
107
107
  Type: AWS::CloudWatch::Alarm
108
- <%= partial("host_record.yml.erb", domain: "mydomain.net") %>
108
+ <%= partial("host_record", domain: "mydomain.net") %>
109
109
  LaunchConfig:
110
110
  Properties:
111
111
  BlockDeviceMappings:
@@ -124,7 +124,7 @@ Resources:
124
124
  - Ref: ServiceSecurityGroup
125
125
  UserData:
126
126
  Fn::Base64: !Sub | # No more Fn::Join needed
127
- <%= partial("user_data/bootstrap.sh.erb", {}, indent: 10) %>
127
+ <%= partial("user_data/bootstrap.sh", {}, indent: 10) %>
128
128
  Type: AWS::AutoScaling::LaunchConfiguration
129
129
  ServiceSecurityGroup:
130
130
  Properties:
@@ -27,6 +27,7 @@ Gem::Specification.new do |gem|
27
27
  gem.add_dependency "colorize"
28
28
  gem.add_dependency "hashie"
29
29
  gem.add_dependency "aws-sdk"
30
+ gem.add_dependency "activesupport"
30
31
  # gem.add_dependency "plissken" # dependency for vendor/lono-params
31
32
  # using the vendor fork version: https://github.com/tongueroo/plissken
32
33
  # until https://github.com/futurechimp/plissken/pull/6 gets merged
@@ -30,7 +30,7 @@ describe Lono::New do
30
30
  end
31
31
  end
32
32
 
33
- context "yaml starter project" do
33
+ context "yml starter project" do
34
34
  before(:each) do
35
35
  new_project = Lono::New.new(
36
36
  force: true,
@@ -0,0 +1,34 @@
1
+ require_relative "../../../spec_helper"
2
+
3
+ describe Lono::Param::Generator do
4
+ def generate(project_root)
5
+ param = Lono::Param::Generator.new("network",
6
+ project_root: project_root,
7
+ mute: true
8
+ )
9
+ json = param.generate
10
+ data = JSON.load(json)
11
+ param_value = data.first["ParameterValue"]
12
+ end
13
+
14
+ context "overlay params" do
15
+ it "should combine params" do
16
+ param_value = generate("spec/fixtures/params/overlay")
17
+ expect(param_value).to eq "2"
18
+ end
19
+ end
20
+
21
+ context "only base param" do
22
+ it "should generate prod param from base param" do
23
+ param_value = generate("spec/fixtures/params/baseonly")
24
+ expect(param_value).to eq "foo"
25
+ end
26
+ end
27
+
28
+ context "only env param" do
29
+ it "should generate prod param from env param" do
30
+ param_value = generate("spec/fixtures/params/envonly")
31
+ expect(param_value).to eq "bar"
32
+ end
33
+ end
34
+ end
@@ -48,7 +48,7 @@ describe Lono::Template::DSL do
48
48
  )
49
49
  dsl.evaluate_templates # run the dependent instance_eval and load_subfoler so @templates is assigned
50
50
  detected_format = dsl.detect_format
51
- expect(detected_format).to eq 'yaml'
51
+ expect(detected_format).to eq 'yml'
52
52
  end
53
53
  end
54
54
 
@@ -27,5 +27,10 @@ describe Lono do
27
27
  out = execute("./bin/lono template generate -c --project-root #{@project_root}")
28
28
  expect(out).to match /Generating CloudFormation templates/
29
29
  end
30
+
31
+ it "should generate templates" do
32
+ out = execute("./bin/lono template upload --project-root #{@project_root} --noop")
33
+ expect(out).to match /Templates uploaded to s3/
34
+ end
30
35
  end
31
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lono
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-20 00:00:00.000000000 Z
11
+ date: 2017-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: activesupport
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: byebug
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -244,51 +258,70 @@ files:
244
258
  - lib/lono/clean.rb
245
259
  - lib/lono/cli.rb
246
260
  - lib/lono/command.rb
261
+ - lib/lono/default/settings.yml
262
+ - lib/lono/env.rb
247
263
  - lib/lono/help.rb
248
264
  - lib/lono/new.rb
249
265
  - lib/lono/param.rb
250
266
  - lib/lono/param/generator.rb
251
267
  - lib/lono/param/help.rb
252
268
  - lib/lono/project_checker.rb
269
+ - lib/lono/settings.rb
253
270
  - lib/lono/template.rb
271
+ - lib/lono/template/aws_services.rb
254
272
  - lib/lono/template/bashify.rb
255
273
  - lib/lono/template/dsl.rb
256
274
  - lib/lono/template/help.rb
275
+ - lib/lono/template/helpers.rb
257
276
  - lib/lono/template/template.rb
277
+ - lib/lono/template/upload.rb
258
278
  - lib/lono/version.rb
259
279
  - lib/starter_projects/json_project/Gemfile
260
280
  - lib/starter_projects/json_project/Guardfile
261
- - lib/starter_projects/json_project/config/lono.rb
262
- - lib/starter_projects/json_project/config/lono/api.rb
281
+ - lib/starter_projects/json_project/config/templates/base/blog.rb
282
+ - lib/starter_projects/json_project/config/templates/base/stacks.rb
263
283
  - lib/starter_projects/json_project/params/api-web-prod.txt
264
- - lib/starter_projects/json_project/templates/db.json.erb
265
- - lib/starter_projects/json_project/templates/partial/host_record.json.erb
266
- - lib/starter_projects/json_project/templates/partial/server.json.erb
267
- - lib/starter_projects/json_project/templates/user_data/app.sh.erb
268
- - lib/starter_projects/json_project/templates/user_data/db.sh.erb
269
- - lib/starter_projects/json_project/templates/user_data/db2.sh.erb
270
- - lib/starter_projects/json_project/templates/user_data/ruby_script.rb.erb
271
- - lib/starter_projects/json_project/templates/web.json.erb
284
+ - lib/starter_projects/json_project/templates/db.json
285
+ - lib/starter_projects/json_project/templates/partial/host_record.json
286
+ - lib/starter_projects/json_project/templates/partial/server.json
287
+ - lib/starter_projects/json_project/templates/user_data/app.sh
288
+ - lib/starter_projects/json_project/templates/user_data/db.sh
289
+ - lib/starter_projects/json_project/templates/user_data/db2.sh
290
+ - lib/starter_projects/json_project/templates/user_data/ruby_script.rb
291
+ - lib/starter_projects/json_project/templates/web.json
272
292
  - lib/starter_projects/yaml_project/Gemfile
273
293
  - lib/starter_projects/yaml_project/Guardfile
274
- - lib/starter_projects/yaml_project/config/lono.rb
275
- - lib/starter_projects/yaml_project/config/lono/api.rb
276
- - lib/starter_projects/yaml_project/params/api-web-prod.txt
277
- - lib/starter_projects/yaml_project/params/example.txt
278
- - lib/starter_projects/yaml_project/templates/db.yml.erb
279
- - lib/starter_projects/yaml_project/templates/example.yml.erb
280
- - lib/starter_projects/yaml_project/templates/partial/host_record.yml.erb
281
- - lib/starter_projects/yaml_project/templates/partial/server.yml.erb
282
- - lib/starter_projects/yaml_project/templates/partial/user_data/bootstrap.sh.erb
283
- - lib/starter_projects/yaml_project/templates/web.yml.erb
294
+ - lib/starter_projects/yaml_project/config/templates/base/blog.rb
295
+ - lib/starter_projects/yaml_project/config/templates/base/stacks.rb
296
+ - lib/starter_projects/yaml_project/config/templates/prod/stacks.rb
297
+ - lib/starter_projects/yaml_project/config/templates/stag/stacks.rb
298
+ - lib/starter_projects/yaml_project/config/variables/base/variables.rb
299
+ - lib/starter_projects/yaml_project/config/variables/prod/variables.rb
300
+ - lib/starter_projects/yaml_project/config/variables/stag/variables.rb
301
+ - lib/starter_projects/yaml_project/helpers/my_custom_helper.rb
302
+ - lib/starter_projects/yaml_project/params/base/api-web-prod.txt
303
+ - lib/starter_projects/yaml_project/params/base/example.txt
304
+ - lib/starter_projects/yaml_project/params/prod/example.txt
305
+ - lib/starter_projects/yaml_project/params/stag/example.txt
306
+ - lib/starter_projects/yaml_project/templates/db.yml
307
+ - lib/starter_projects/yaml_project/templates/example.yml
308
+ - lib/starter_projects/yaml_project/templates/partial/host_record.yml
309
+ - lib/starter_projects/yaml_project/templates/partial/server.yml
310
+ - lib/starter_projects/yaml_project/templates/partial/user_data/bootstrap.sh
311
+ - lib/starter_projects/yaml_project/templates/web.yml
284
312
  - lono.gemspec
285
313
  - spec/fixtures/cfn.json
286
314
  - spec/fixtures/my_project/config/lono.rb
287
315
  - spec/fixtures/my_project/params/my-stack.txt
288
316
  - spec/fixtures/my_project/templates/.gitkeep
289
317
  - spec/fixtures/my_project/templates/my-stack.yml.erb
318
+ - spec/fixtures/params/baseonly/params/base/network.txt
319
+ - spec/fixtures/params/envonly/params/prod/network.txt
320
+ - spec/fixtures/params/overlay/params/base/network.txt
321
+ - spec/fixtures/params/overlay/params/prod/network.txt
290
322
  - spec/lib/lono/cfn_spec.rb
291
323
  - spec/lib/lono/new_spec.rb
324
+ - spec/lib/lono/param/generator_spec.rb
292
325
  - spec/lib/lono/param_spec.rb
293
326
  - spec/lib/lono/template/dsl_spec.rb
294
327
  - spec/lib/lono/template/template_spec.rb
@@ -339,8 +372,13 @@ test_files:
339
372
  - spec/fixtures/my_project/params/my-stack.txt
340
373
  - spec/fixtures/my_project/templates/.gitkeep
341
374
  - spec/fixtures/my_project/templates/my-stack.yml.erb
375
+ - spec/fixtures/params/baseonly/params/base/network.txt
376
+ - spec/fixtures/params/envonly/params/prod/network.txt
377
+ - spec/fixtures/params/overlay/params/base/network.txt
378
+ - spec/fixtures/params/overlay/params/prod/network.txt
342
379
  - spec/lib/lono/cfn_spec.rb
343
380
  - spec/lib/lono/new_spec.rb
381
+ - spec/lib/lono/param/generator_spec.rb
344
382
  - spec/lib/lono/param_spec.rb
345
383
  - spec/lib/lono/template/dsl_spec.rb
346
384
  - spec/lib/lono/template/template_spec.rb