terraform-wrapper 0.1.1 → 0.1.2

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.
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