eb_deployer 0.2.7 → 0.2.8
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.
@@ -14,14 +14,15 @@ module EbDeployer
|
|
14
14
|
def provision(resources)
|
15
15
|
resources = symbolize_keys(resources)
|
16
16
|
template = File.read(resources[:template])
|
17
|
-
outputs = resources[:outputs] || {}
|
18
|
-
transforms = resources[:transforms] || {}
|
19
17
|
capabilities = resources[:capabilities] || []
|
20
18
|
params = resources[:inputs] || resources[:parameters] || {}
|
21
|
-
|
22
19
|
stack_exists? ? update_stack(template, params, capabilities) : create_stack(template, params, capabilities)
|
23
20
|
wait_for_stack_op_terminate
|
21
|
+
end
|
24
22
|
|
23
|
+
def transform_outputs(resources)
|
24
|
+
outputs = resources[:outputs] || {}
|
25
|
+
transforms = resources[:transforms] || {}
|
25
26
|
transform_output_to_settings(convert_to_transforms(outputs).merge(transforms))
|
26
27
|
end
|
27
28
|
|
data/lib/eb_deployer/version.rb
CHANGED
data/lib/eb_deployer.rb
CHANGED
@@ -184,8 +184,9 @@ module EbDeployer
|
|
184
184
|
:smoke_test => smoke_test,
|
185
185
|
:phoenix_mode => phoenix_mode)
|
186
186
|
|
187
|
-
if
|
188
|
-
|
187
|
+
if resources = opts[:resources]
|
188
|
+
cf.provision(resources) unless skip_resource
|
189
|
+
env_settings += cf.transform_outputs(resources)
|
189
190
|
end
|
190
191
|
|
191
192
|
application.create_version(version_label, opts[:package])
|
@@ -9,20 +9,23 @@ class CloudFormationProvisionerTest < Minitest::Test
|
|
9
9
|
|
10
10
|
|
11
11
|
def test_convert_inputs_as_params_to_cf
|
12
|
-
|
13
|
-
|
12
|
+
resources = { :template => @template, :inputs => { 'Foo' => 'Bar' } }
|
13
|
+
@provisioner.provision(resources)
|
14
14
|
|
15
15
|
assert_equal({ 'Foo' => 'Bar' }, @cf.stack_config("myresources")[:parameters])
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_transform_to_eb_settings
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
resources = { :template => @template,
|
20
|
+
:outputs => {
|
21
|
+
'S' => {
|
22
|
+
'namespace' => "foo",
|
23
|
+
"option_name" => "bar"
|
24
|
+
}
|
25
|
+
}}
|
26
|
+
|
27
|
+
@provisioner.provision(resources)
|
28
|
+
settings = @provisioner.transform_outputs(resources)
|
26
29
|
assert_equal [{'namespace' => 'foo', 'option_name' => 'bar', 'value' => 'value of S'}], settings
|
27
30
|
end
|
28
31
|
end
|
data/test/deploy_test.rb
CHANGED
@@ -219,6 +219,27 @@ class DeployTest < Minitest::Test
|
|
219
219
|
assert_equal(2, @cf_driver.stack_config('simple-production')[:parameters]['a'])
|
220
220
|
end
|
221
221
|
|
222
|
+
def test_should_still_query_output_to_set_eb_options_even_skip_resources_update_is_specified
|
223
|
+
cf_template = temp_file(JSON.dump({'Resources' => {'R1' => {}},
|
224
|
+
'Outputs' => {'O1' => {}, 'O2' => {}}}))
|
225
|
+
deploy(:application => 'simple', :environment => "production",
|
226
|
+
:resources => {
|
227
|
+
:template => cf_template
|
228
|
+
})
|
229
|
+
|
230
|
+
deploy(:application => 'simple', :environment => "production",
|
231
|
+
:skip_resource_stack_update => true,
|
232
|
+
:resources => {
|
233
|
+
:template => cf_template,
|
234
|
+
:transforms => {
|
235
|
+
'O2' => lambda { |v| {:namespace => 'aws.foo', :option_name => 'o2', :value => "transformed " + v} }
|
236
|
+
}
|
237
|
+
})
|
238
|
+
|
239
|
+
assert @eb_driver.environment_settings('simple', eb_envname('simple', 'production')).
|
240
|
+
include?({:namespace => 'aws.foo', :option_name => 'o2', :value => 'transformed value of O2'})
|
241
|
+
end
|
242
|
+
|
222
243
|
|
223
244
|
def test_set_s3_bucket_name_on_deployment
|
224
245
|
deploy(:application => 'simple',
|