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 +4 -4
- data/.gitlab-ci.yml +1 -1
- data/lib/terraform-wrapper.rb +1 -0
- data/lib/terraform-wrapper/shared/runner.rb +5 -6
- data/lib/terraform-wrapper/tasks.rb +5 -0
- data/lib/terraform-wrapper/tasks/apply.rb +0 -4
- data/lib/terraform-wrapper/tasks/binary.rb +0 -1
- data/lib/terraform-wrapper/tasks/clean.rb +0 -4
- data/lib/terraform-wrapper/tasks/destroy.rb +0 -4
- data/lib/terraform-wrapper/tasks/import.rb +0 -4
- data/lib/terraform-wrapper/tasks/init.rb +0 -4
- data/lib/terraform-wrapper/tasks/plan.rb +0 -4
- data/lib/terraform-wrapper/tasks/plandestroy.rb +0 -4
- data/lib/terraform-wrapper/tasks/upgrade.rb +58 -0
- data/lib/terraform-wrapper/tasks/validate.rb +0 -4
- data/lib/terraform-wrapper/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42a8d62aa53845eaf88d6eab555ccd6f5185197691f91695ad582c2eb6deffe5
|
4
|
+
data.tar.gz: bf3c949c33705cbab386b9c1cdc1cd5e408a082bcb5f3a636e2897679011310b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32d29ab063a2a9a211de73e9ad416c1bbca85d62f68fbae07a324806260b674187968aba8a68ecd4740879e0d05373f7eeb48c4538185dc1e2e2aca82983f896
|
7
|
+
data.tar.gz: 34025e0835bb7e806d659679226f32ed850dfa6fe3b35181e83fca9901037cde9831a31be47172c5c8af10c5aa14aa5f49725458da3c63cfd6867342fb3610ed
|
data/.gitlab-ci.yml
CHANGED
data/lib/terraform-wrapper.rb
CHANGED
@@ -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:
|
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("
|
63
|
-
parameters.append("
|
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
|
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
|
###############################################################################
|
@@ -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
|
###############################################################################
|
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.
|
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-
|
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
|