terraform-wrapper 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
- ###############################################################################