terragov 0.3.1.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/terragov/cli.rb +19 -5
- data/lib/terragov/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18df1434ae9c550495cb0bc00a2da7577bf50295
|
4
|
+
data.tar.gz: 4ef166343fae271dec31b8aeaf0585de57750fb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36c0214bd7731eb39564e024c0ec19fc962a3482a651477caa8079f86a0e16b7852f110fb461b6627054565885b722d1508894dba38af7fe9dead119d96efde7
|
7
|
+
data.tar.gz: 61614afcf67f13d5f7e391e09854079323f1e4b19e636092572a2934e3ad1dbcfddbdceee157883cc654e076e6d9fd165be718ebfa5f0493f309d03e2c44b762
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.3.2 (2017-12-29)
|
2
|
+
|
3
|
+
- Allow force when applying on Terraform versions >=0.11
|
4
|
+
- Allow force apply and destroy on deployments on Terraform versions >=0.11
|
5
|
+
|
1
6
|
## 0.3.1 (2017-12-28)
|
2
7
|
|
3
8
|
- Added a "deploy" command to allow deploying multiple projects in order as defined
|
data/lib/terragov/cli.rb
CHANGED
@@ -237,7 +237,7 @@ module Terragov
|
|
237
237
|
Terragov::Terraform.new.execute(cmd, varfiles, backend, project_dir, do_dryrun, be_verbose)
|
238
238
|
end
|
239
239
|
|
240
|
-
def run_deployment(file, group, command)
|
240
|
+
def run_deployment(file, group, command, force)
|
241
241
|
abort("Must set deployment file: --file") unless file
|
242
242
|
abort("Must set command to run: --command") unless command
|
243
243
|
abort("Cannot find deployment file: #{file}") unless File.exist?(file)
|
@@ -250,11 +250,19 @@ module Terragov
|
|
250
250
|
end
|
251
251
|
|
252
252
|
if command == 'plan' || command == 'apply'
|
253
|
+
if force && command == 'apply'
|
254
|
+
command = "#{command} -auto-approve"
|
255
|
+
end
|
256
|
+
|
253
257
|
deployment_config.each do |proj|
|
254
258
|
$project = proj
|
255
259
|
run_terraform_cmd(command, nil, true)
|
256
260
|
end
|
257
261
|
elsif command == 'destroy'
|
262
|
+
if force
|
263
|
+
command = "#{command} -force"
|
264
|
+
end
|
265
|
+
|
258
266
|
deployment_config.reverse.each do |proj|
|
259
267
|
$project = proj
|
260
268
|
run_terraform_cmd(command, nil, true)
|
@@ -268,7 +276,7 @@ module Terragov
|
|
268
276
|
command :plan do |c|
|
269
277
|
c.syntax = 'terragov plan'
|
270
278
|
c.description = 'Runs a plan of your code'
|
271
|
-
c.action do |_args,
|
279
|
+
c.action do |_args, options|
|
272
280
|
run_terraform_cmd(c.name)
|
273
281
|
end
|
274
282
|
end
|
@@ -276,8 +284,13 @@ module Terragov
|
|
276
284
|
command :apply do |c|
|
277
285
|
c.syntax = 'terragov apply'
|
278
286
|
c.description = 'Apply your code'
|
279
|
-
c.
|
280
|
-
|
287
|
+
c.option '--force', 'Force apply'
|
288
|
+
c.action do |_args, options|
|
289
|
+
if options.force
|
290
|
+
run_terraform_cmd("#{c.name} -auto-approve")
|
291
|
+
else
|
292
|
+
run_terraform_cmd(c.name)
|
293
|
+
end
|
281
294
|
end
|
282
295
|
end
|
283
296
|
|
@@ -300,11 +313,12 @@ module Terragov
|
|
300
313
|
c.option '-f', '--file STRING', 'Specify deployment file'
|
301
314
|
c.option '-g', '--group STRING', 'Specify group that you wish to deploy'
|
302
315
|
c.option '-c', '--command STRING', 'What command to run: apply, plan or destroy.'
|
316
|
+
c.option '--force', 'Force apply or destroy'
|
303
317
|
c.action do |_args, options|
|
304
318
|
|
305
319
|
group = options.group.nil? ? 'default' : options.group
|
306
320
|
|
307
|
-
run_deployment(options.file, group, options.command)
|
321
|
+
run_deployment(options.file, group, options.command, options.force)
|
308
322
|
end
|
309
323
|
end
|
310
324
|
|
data/lib/terragov/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: terragov
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laura Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
201
|
version: '0'
|
202
202
|
requirements: []
|
203
203
|
rubyforge_project:
|
204
|
-
rubygems_version: 2.6.
|
204
|
+
rubygems_version: 2.6.11
|
205
205
|
signing_key:
|
206
206
|
specification_version: 4
|
207
207
|
summary: Wrapper for GOV.UK Terraform deployments.
|