terraform-wrapper 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0f59fe60b44165f5771d0e20fe31b8e6d9f4dd05646a7a32ee5cb41de1c94ce
4
- data.tar.gz: 268a408964acce9c9bc9745fea9c5ef154f7aee861f3245c4ea668a43548cc1c
3
+ metadata.gz: 42a8d62aa53845eaf88d6eab555ccd6f5185197691f91695ad582c2eb6deffe5
4
+ data.tar.gz: bf3c949c33705cbab386b9c1cdc1cd5e408a082bcb5f3a636e2897679011310b
5
5
  SHA512:
6
- metadata.gz: a9f91604fe4042be3b34dcb59cc2049808a28dd0ccfef2f8998518fbb4d6ed3c62801472bd4e8c1d9e0d035697b9e9ec0542e464c9e15bafbe3ed6047d2c9177
7
- data.tar.gz: 5fc7cd614aa04419fa0a09c8843bd20e1b2a78f684926ddd5a98b4a1d4e429ceca8cee92be0ad0cbf837d8dc49b8dfd61faed176c547e3c2561676d8d2c0d9af
6
+ metadata.gz: 32d29ab063a2a9a211de73e9ad416c1bbca85d62f68fbae07a324806260b674187968aba8a68ecd4740879e0d05373f7eeb48c4538185dc1e2e2aca82983f896
7
+ data.tar.gz: 34025e0835bb7e806d659679226f32ed850dfa6fe3b35181e83fca9901037cde9831a31be47172c5c8af10c5aa14aa5f49725458da3c63cfd6867342fb3610ed
data/.gitlab-ci.yml CHANGED
@@ -31,7 +31,7 @@ deploy:
31
31
  - hash gem
32
32
  - echo "-- Publishing Gem --"
33
33
  - rake release
34
- - echo "-- Listing Sums --
34
+ - echo "-- Listing Sums --"
35
35
  - sha256sum *.gem
36
36
 
37
37
  ###############################################################################
@@ -55,6 +55,7 @@ module TerraformWrapper
55
55
  tasks << TerraformWrapper::Tasks::Init.new(binary: binary, code: code, options: config_options)
56
56
  tasks << TerraformWrapper::Tasks::Plan.new(binary: binary, code: code, options: config_options)
57
57
  tasks << TerraformWrapper::Tasks::PlanDestroy.new(binary: binary, code: code, options: config_options)
58
+ tasks << TerraformWrapper::Tasks::Upgrade.new(binary: binary, code: code)
58
59
  tasks << TerraformWrapper::Tasks::Validate.new(binary: binary, code: code)
59
60
  return tasks
60
61
  end
@@ -34,7 +34,7 @@ module TerraformWrapper
34
34
 
35
35
  ###############################################################################
36
36
 
37
- def download(upgrade: true)
37
+ def download(upgrade: false)
38
38
  parameters = Array.new
39
39
  parameters.append("-backend=false")
40
40
  parameters.append("-upgrade") if upgrade
@@ -58,19 +58,18 @@ module TerraformWrapper
58
58
  parameters = Array.new
59
59
  parameters.concat(variable_files)
60
60
  parameters.concat(variable_strings)
61
-
62
- parameters.append("\"#{address}\"")
63
- parameters.append("\"#{id}\"")
61
+
62
+ parameters.append("'#{address}'")
63
+ parameters.append("'#{id}'")
64
64
 
65
65
  logger.fatal("Terraform import failed!") unless run(action: "import", parameters: parameters)
66
66
  end
67
67
 
68
68
  ###############################################################################
69
69
 
70
- def init(config:, upgrade: true)
70
+ def init(config:)
71
71
  parameters = Array.new
72
72
  parameters.append("-reconfigure")
73
- parameters.append("-upgrade") if upgrade
74
73
 
75
74
  config.backend.hash.each do |key, value|
76
75
  parameters.append("-backend-config=\"#{key}=#{value}\"")
@@ -1,5 +1,9 @@
1
1
  ###############################################################################
2
2
 
3
+ require 'rake/tasklib'
4
+
5
+ ###############################################################################
6
+
3
7
  require_relative 'tasks/apply'
4
8
  require_relative 'tasks/binary'
5
9
  require_relative 'tasks/clean'
@@ -8,6 +12,7 @@ require_relative 'tasks/import'
8
12
  require_relative 'tasks/init'
9
13
  require_relative 'tasks/plan'
10
14
  require_relative 'tasks/plandestroy'
15
+ require_relative 'tasks/upgrade'
11
16
  require_relative 'tasks/validate'
12
17
 
13
18
  ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -3,7 +3,6 @@
3
3
  require 'digest'
4
4
  require 'fileutils'
5
5
  require 'net/http'
6
- require 'rake/tasklib'
7
6
  require 'uri'
8
7
  require 'zip'
9
8
 
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -0,0 +1,58 @@
1
+ ###############################################################################
2
+
3
+ module TerraformWrapper
4
+
5
+ ###############################################################################
6
+
7
+ module Tasks
8
+
9
+ ###############################################################################
10
+
11
+ class Upgrade < ::Rake::TaskLib
12
+
13
+ ###############################################################################
14
+
15
+ include TerraformWrapper::Shared::Logging
16
+
17
+ ###############################################################################
18
+
19
+ @binary
20
+ @code
21
+
22
+ ###############################################################################
23
+
24
+ def initialize(binary:, code:)
25
+ @binary = binary
26
+ @code = code
27
+
28
+ yield self if block_given?
29
+
30
+ upgrade_task
31
+ end
32
+
33
+ ###############################################################################
34
+
35
+ def upgrade_task
36
+ desc "Upgrades the Terraform infrastructure component modules, providers and lock file."
37
+ task :upgrade => :binary do |t, args|
38
+ runner = TerraformWrapper::Shared::Runner.new(binary: @binary, code: @code)
39
+
40
+ logger.info("Upgrading Terraform component: #{@code.name}...")
41
+
42
+ runner.download(upgrade: true)
43
+ end
44
+ end
45
+
46
+ ###############################################################################
47
+
48
+ end
49
+
50
+ ###############################################################################
51
+
52
+ end
53
+
54
+ ###############################################################################
55
+
56
+ end
57
+
58
+ ###############################################################################
@@ -1,9 +1,5 @@
1
1
  ###############################################################################
2
2
 
3
- require 'rake/tasklib'
4
-
5
- ###############################################################################
6
-
7
3
  module TerraformWrapper
8
4
 
9
5
  ###############################################################################
@@ -4,7 +4,7 @@ module TerraformWrapper
4
4
 
5
5
  ###############################################################################
6
6
 
7
- VERSION = "0.1.1"
7
+ VERSION = "0.1.2"
8
8
 
9
9
  ###############################################################################
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraform-wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Lees
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-17 00:00:00.000000000 Z
11
+ date: 2021-02-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A ruby wrapper for managing Terraform binaries and remote state. Each
14
14
  Terraform command (plan, apply, etc) is wrapped so that the correct binary is used
@@ -54,6 +54,7 @@ files:
54
54
  - lib/terraform-wrapper/tasks/init.rb
55
55
  - lib/terraform-wrapper/tasks/plan.rb
56
56
  - lib/terraform-wrapper/tasks/plandestroy.rb
57
+ - lib/terraform-wrapper/tasks/upgrade.rb
57
58
  - lib/terraform-wrapper/tasks/validate.rb
58
59
  - lib/terraform-wrapper/version.rb
59
60
  - terraform-wrapper.gemspec