terraform-wrapper 0.0.2 → 0.1.0

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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/terraform-wrapper.rb +34 -16
  3. data/lib/terraform-wrapper/common.rb +12 -23
  4. data/lib/terraform-wrapper/shared.rb +7 -1
  5. data/lib/terraform-wrapper/shared/auths.rb +9 -0
  6. data/lib/terraform-wrapper/shared/auths/azure.rb +179 -0
  7. data/lib/terraform-wrapper/shared/auths/common.rb +95 -0
  8. data/lib/terraform-wrapper/shared/backends/aws.rb +34 -29
  9. data/lib/terraform-wrapper/shared/backends/azure.rb +38 -39
  10. data/lib/terraform-wrapper/shared/backends/common.rb +18 -14
  11. data/lib/terraform-wrapper/shared/backends/local.rb +20 -18
  12. data/lib/terraform-wrapper/shared/binary.rb +16 -5
  13. data/lib/terraform-wrapper/shared/code.rb +15 -4
  14. data/lib/terraform-wrapper/shared/config.rb +61 -31
  15. data/lib/terraform-wrapper/shared/latest.rb +11 -7
  16. data/lib/terraform-wrapper/shared/logger.rb +80 -0
  17. data/lib/terraform-wrapper/shared/logging.rb +77 -0
  18. data/lib/terraform-wrapper/shared/runner.rb +59 -22
  19. data/lib/terraform-wrapper/shared/variables.rb +66 -0
  20. data/lib/terraform-wrapper/tasks/apply.rb +16 -14
  21. data/lib/terraform-wrapper/tasks/binary.rb +25 -21
  22. data/lib/terraform-wrapper/tasks/clean.rb +15 -11
  23. data/lib/terraform-wrapper/tasks/destroy.rb +16 -14
  24. data/lib/terraform-wrapper/tasks/init.rb +16 -14
  25. data/lib/terraform-wrapper/tasks/plan.rb +16 -14
  26. data/lib/terraform-wrapper/tasks/plandestroy.rb +16 -14
  27. data/lib/terraform-wrapper/tasks/validate.rb +7 -3
  28. data/lib/terraform-wrapper/version.rb +1 -1
  29. metadata +8 -3
  30. data/lib/terraform-wrapper/shared/identifiers.rb +0 -70
@@ -4,7 +4,7 @@ module TerraformWrapper
4
4
 
5
5
  ###############################################################################
6
6
 
7
- VERSION = "0.0.2"
7
+ VERSION = "0.1.0"
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.0.2
4
+ version: 0.1.0
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-04 00:00:00.000000000 Z
11
+ date: 2021-02-15 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
@@ -29,6 +29,9 @@ files:
29
29
  - lib/terraform-wrapper.rb
30
30
  - lib/terraform-wrapper/common.rb
31
31
  - lib/terraform-wrapper/shared.rb
32
+ - lib/terraform-wrapper/shared/auths.rb
33
+ - lib/terraform-wrapper/shared/auths/azure.rb
34
+ - lib/terraform-wrapper/shared/auths/common.rb
32
35
  - lib/terraform-wrapper/shared/backends.rb
33
36
  - lib/terraform-wrapper/shared/backends/aws.rb
34
37
  - lib/terraform-wrapper/shared/backends/azure.rb
@@ -37,9 +40,11 @@ files:
37
40
  - lib/terraform-wrapper/shared/binary.rb
38
41
  - lib/terraform-wrapper/shared/code.rb
39
42
  - lib/terraform-wrapper/shared/config.rb
40
- - lib/terraform-wrapper/shared/identifiers.rb
41
43
  - lib/terraform-wrapper/shared/latest.rb
44
+ - lib/terraform-wrapper/shared/logger.rb
45
+ - lib/terraform-wrapper/shared/logging.rb
42
46
  - lib/terraform-wrapper/shared/runner.rb
47
+ - lib/terraform-wrapper/shared/variables.rb
43
48
  - lib/terraform-wrapper/tasks.rb
44
49
  - lib/terraform-wrapper/tasks/apply.rb
45
50
  - lib/terraform-wrapper/tasks/binary.rb
@@ -1,70 +0,0 @@
1
- ###############################################################################
2
-
3
- module TerraformWrapper
4
-
5
- ###############################################################################
6
-
7
- module Shared
8
-
9
- ###############################################################################
10
-
11
- class Identifiers
12
-
13
- ###############################################################################
14
-
15
- attr_reader :identifiers
16
-
17
- ###############################################################################
18
-
19
- def initialize(identifiers: Hash.new, sort: true)
20
- cleansed = cleanse(identifiers: identifiers)
21
- @identifiers = sort ? cleansed.sort : cleansed
22
- end
23
-
24
- ###############################################################################
25
-
26
- def path()
27
- result = String.new
28
-
29
- @identifiers.each do |key, value|
30
- directory = key + "-" + value
31
- result = result.empty? ? directory : File.join(result, directory)
32
- end
33
-
34
- return result
35
- end
36
-
37
- ###############################################################################
38
-
39
- private
40
-
41
- ###############################################################################
42
-
43
- def cleanse(identifiers:)
44
- result = Hash.new
45
-
46
- identifiers.keys.each do |key|
47
- raise "Could not clean identifiers hash. All keys MUST be strings!" unless key.kind_of?(String)
48
- raise "Could not clean identifiers hash, duplicate key found: #{key.downcase}!" if result.key?(key.downcase)
49
- raise "Could not clean identifiers hash, value for: #{key.downcase} is not a string!" unless identifiers[key].kind_of?(String)
50
- raise "Could not clean identifiers hash, value for: #{key.downcase} is empty!" if identifiers[key].strip.empty?
51
-
52
- result[key.downcase] = identifiers[key].strip.downcase
53
- end
54
-
55
- return result
56
- end
57
-
58
- ###############################################################################
59
-
60
- end
61
-
62
- ###############################################################################
63
-
64
- end
65
-
66
- ###############################################################################
67
-
68
- end
69
-
70
- ###############################################################################