bora 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +16 -0
- data/lib/bora/tasks.rb +17 -6
- data/lib/bora/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de47b9b1631554ad77efc354c4447578222a53c6
|
4
|
+
data.tar.gz: b51627a1b45dbfbee39bca5177a27cfc6e0aa3a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7c30f5101af8e515e8dad0ec32dce09c4fbf57f4aedfbede036a6ccceb7ed1927ca0d10e797dee95f45b8852990b4bf554012c5b0eda36933cd2c5a2b7ef524
|
7
|
+
data.tar.gz: abea4067375197a723f3755fc11c86996117a650f2a40e269f1a75ade074377466580e8fb91dd6dd28680e6b7f4e906373e8f6646c2f515bf3f4b4d033e04e0a
|
data/README.md
CHANGED
@@ -70,6 +70,22 @@ end
|
|
70
70
|
You must at a minimum specify either the `template_body` or `template_url` option.
|
71
71
|
|
72
72
|
|
73
|
+
### Dynamically Generated Templates
|
74
|
+
If you are generating your templates dynamically using a DSL such as [cfndsl](https://github.com/stevenjack/cfndsl) you can easily hook this into the Bora tasks by defining a `generate` task within the Bora::Tasks constructor.
|
75
|
+
|
76
|
+
```ruby
|
77
|
+
Bora::Tasks.new("example") do |t|
|
78
|
+
desc "Generates the template"
|
79
|
+
task :generate do
|
80
|
+
# Generate your template and write it into "example.json" here
|
81
|
+
end
|
82
|
+
|
83
|
+
t.stack_options = {
|
84
|
+
template_body: File.read("example.json")
|
85
|
+
}
|
86
|
+
end
|
87
|
+
```
|
88
|
+
|
73
89
|
### API
|
74
90
|
|
75
91
|
You can use this gem without using Rake. Most of the logic is implemented in [stack.rb](https://github.com/ampedandwired/bora/blob/master/lib/bora/stack.rb) and is fairly self-explanatory.
|
data/lib/bora/tasks.rb
CHANGED
@@ -8,7 +8,11 @@ module Bora
|
|
8
8
|
@stack_name = stack_name
|
9
9
|
@stack = Stack.new(stack_name)
|
10
10
|
@colorize = true
|
11
|
-
|
11
|
+
if block_given?
|
12
|
+
within_namespace do
|
13
|
+
yield self
|
14
|
+
end
|
15
|
+
end
|
12
16
|
define_tasks
|
13
17
|
end
|
14
18
|
|
@@ -27,6 +31,7 @@ module Bora
|
|
27
31
|
define_delete_task
|
28
32
|
define_diff_task
|
29
33
|
define_events_task
|
34
|
+
define_generate_task
|
30
35
|
define_new_template_task
|
31
36
|
define_outputs_task
|
32
37
|
define_recreate_task
|
@@ -37,7 +42,7 @@ module Bora
|
|
37
42
|
def define_apply_task
|
38
43
|
within_namespace do
|
39
44
|
desc "Creates (or updates) the '#{@stack_name}' stack"
|
40
|
-
task :apply do
|
45
|
+
task :apply => :generate do
|
41
46
|
success = invoke_action(@stack.exists? ? "update" : "create", @stack_options)
|
42
47
|
if success
|
43
48
|
outputs = @stack.outputs
|
@@ -72,7 +77,7 @@ module Bora
|
|
72
77
|
def define_diff_task
|
73
78
|
within_namespace do
|
74
79
|
desc "Diffs the new template with the '#{@stack_name}' stack's current template"
|
75
|
-
task :diff do
|
80
|
+
task :diff => :generate do
|
76
81
|
puts @stack.diff(@stack_options).to_s(@colorize ? :color : :text)
|
77
82
|
end
|
78
83
|
end
|
@@ -97,10 +102,16 @@ module Bora
|
|
97
102
|
end
|
98
103
|
end
|
99
104
|
|
105
|
+
def define_generate_task
|
106
|
+
within_namespace do
|
107
|
+
task :generate
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
100
111
|
def define_new_template_task
|
101
112
|
within_namespace do
|
102
113
|
desc "Shows the new template for '#{@stack_name}' stack"
|
103
|
-
task :new_template do
|
114
|
+
task :new_template => :generate do
|
104
115
|
puts @stack.new_template(@stack_options)
|
105
116
|
end
|
106
117
|
end
|
@@ -128,7 +139,7 @@ module Bora
|
|
128
139
|
def define_recreate_task
|
129
140
|
within_namespace do
|
130
141
|
desc "Recreates (deletes then creates) the '#{@stack_name}' stack"
|
131
|
-
task :recreate do
|
142
|
+
task :recreate => :generate do
|
132
143
|
invoke_action("recreate", @stack_options)
|
133
144
|
end
|
134
145
|
end
|
@@ -146,7 +157,7 @@ module Bora
|
|
146
157
|
def define_validate_task
|
147
158
|
within_namespace do
|
148
159
|
desc "Checks the '#{@stack_name}' stack's template for validity"
|
149
|
-
task :validate do
|
160
|
+
task :validate => :generate do
|
150
161
|
puts "Template for stack '#{@stack_name}' is valid" if @stack.validate(@stack_options)
|
151
162
|
end
|
152
163
|
end
|
data/lib/bora/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Blaxland
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|