ruby-terraform 1.6.0 → 1.7.0.pre.1
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/Gemfile.lock +2 -2
- data/lib/ruby_terraform/models/change.rb +104 -0
- data/lib/ruby_terraform/models/known_value.rb +35 -0
- data/lib/ruby_terraform/models/list.rb +57 -0
- data/lib/ruby_terraform/models/map.rb +54 -0
- data/lib/ruby_terraform/models/objects.rb +147 -0
- data/lib/ruby_terraform/models/plan.rb +51 -0
- data/lib/ruby_terraform/models/resource_change.rb +91 -0
- data/lib/ruby_terraform/models/unknown_value.rb +32 -0
- data/lib/ruby_terraform/models/values.rb +38 -0
- data/lib/ruby_terraform/models.rb +5 -0
- data/lib/ruby_terraform/value_equality.rb +15 -0
- data/lib/ruby_terraform/version.rb +1 -1
- data/lib/ruby_terraform.rb +1 -0
- metadata +15 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 680283afcf36ed8fa426c1223836e60e576efcad33524e459ba287e22cf803a2
|
4
|
+
data.tar.gz: 15513e05d5002247601634b071794d6b2f04cbc91d1f147d7100d92210c1df9d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19cddfe7e77d1601eccab259866df3c16cb15b3d98ca2e5b4852b253e5e5303b27141a8c8ce204aba7a13ad2fef452e1eb61cca9a85f4bd53c7a1c9e2724def4
|
7
|
+
data.tar.gz: d8bd7161d5343e1696d3386e58b84aec9d51e4bb2b93f88c1e51df998b7adf44f00e03b3fba47b0484701280ab4b963ab239a12055a1d2e59ef73b509b2b34c2
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,104 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../value_equality'
|
4
|
+
require_relative './objects'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Models
|
8
|
+
class Change
|
9
|
+
include ValueEquality
|
10
|
+
|
11
|
+
def initialize(content)
|
12
|
+
@content = content
|
13
|
+
end
|
14
|
+
|
15
|
+
def actions
|
16
|
+
@content[:actions].map do |action|
|
17
|
+
{
|
18
|
+
'no-op' => :no_op,
|
19
|
+
'create' => :create,
|
20
|
+
'read' => :read,
|
21
|
+
'update' => :update,
|
22
|
+
'delete' => :delete
|
23
|
+
}[action]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def before
|
28
|
+
@content[:before]
|
29
|
+
end
|
30
|
+
|
31
|
+
def before_sensitive
|
32
|
+
@content[:before_sensitive]
|
33
|
+
end
|
34
|
+
|
35
|
+
def before_object
|
36
|
+
Objects.box(before, sensitive: before_sensitive)
|
37
|
+
end
|
38
|
+
|
39
|
+
def after
|
40
|
+
@content[:after]
|
41
|
+
end
|
42
|
+
|
43
|
+
def after_unknown
|
44
|
+
@content[:after_unknown]
|
45
|
+
end
|
46
|
+
|
47
|
+
def after_sensitive
|
48
|
+
@content[:after_sensitive]
|
49
|
+
end
|
50
|
+
|
51
|
+
def after_object
|
52
|
+
Objects.box(
|
53
|
+
after,
|
54
|
+
unknown: after_unknown,
|
55
|
+
sensitive: after_sensitive
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
def no_op?
|
60
|
+
actions == [:no_op]
|
61
|
+
end
|
62
|
+
|
63
|
+
def create?
|
64
|
+
actions == [:create]
|
65
|
+
end
|
66
|
+
|
67
|
+
def read?
|
68
|
+
actions == [:read]
|
69
|
+
end
|
70
|
+
|
71
|
+
def update?
|
72
|
+
actions == [:update]
|
73
|
+
end
|
74
|
+
|
75
|
+
def replace_delete_before_create?
|
76
|
+
actions == %i[delete create]
|
77
|
+
end
|
78
|
+
|
79
|
+
def replace_create_before_delete?
|
80
|
+
actions == %i[create delete]
|
81
|
+
end
|
82
|
+
|
83
|
+
def replace?
|
84
|
+
replace_delete_before_create? || replace_create_before_delete?
|
85
|
+
end
|
86
|
+
|
87
|
+
def delete?
|
88
|
+
actions == [:delete]
|
89
|
+
end
|
90
|
+
|
91
|
+
def inspect
|
92
|
+
@content.inspect
|
93
|
+
end
|
94
|
+
|
95
|
+
def to_h
|
96
|
+
@content
|
97
|
+
end
|
98
|
+
|
99
|
+
def state
|
100
|
+
[@content]
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../value_equality'
|
4
|
+
|
5
|
+
module RubyTerraform
|
6
|
+
module Models
|
7
|
+
class KnownValue
|
8
|
+
include ValueEquality
|
9
|
+
|
10
|
+
def initialize(value, sensitive: false)
|
11
|
+
@value = value
|
12
|
+
@sensitive = sensitive
|
13
|
+
end
|
14
|
+
|
15
|
+
attr_reader :value
|
16
|
+
|
17
|
+
def known?
|
18
|
+
true
|
19
|
+
end
|
20
|
+
|
21
|
+
def sensitive?
|
22
|
+
@sensitive
|
23
|
+
end
|
24
|
+
|
25
|
+
def state
|
26
|
+
[@value, @sensitive]
|
27
|
+
end
|
28
|
+
|
29
|
+
def inspect
|
30
|
+
sensitive = sensitive? ? 'sensitive' : 'non-sensitive'
|
31
|
+
"#{@value.inspect} (known, #{sensitive})"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../value_equality'
|
4
|
+
|
5
|
+
module RubyTerraform
|
6
|
+
module Models
|
7
|
+
class List
|
8
|
+
extend Forwardable
|
9
|
+
|
10
|
+
include Enumerable
|
11
|
+
include ValueEquality
|
12
|
+
|
13
|
+
def_delegators(
|
14
|
+
:@value,
|
15
|
+
:to_a, :to_h, :to_ary,
|
16
|
+
:[], :[]=, :at, :fetch, :first, :last,
|
17
|
+
:concat, :union, :difference, :intersection, :intersect?,
|
18
|
+
:<<, :push, :append, :pop, :shift, :unshift, :insert,
|
19
|
+
:each, :each_index, :reverse_each, :length, :size, :empty?,
|
20
|
+
:find_index, :index, :rindex, :join,
|
21
|
+
:reverse, :reverse!, :rotate, :rotate!, :sort, :sort!, :sort_by!,
|
22
|
+
:collect, :collect!, :map, :map!, :select, :select!, :filter, :filter!,
|
23
|
+
:keep_if, :values_at, :delete, :delete_at, :delete_if,
|
24
|
+
:reject, :reject!, :zip, :transpose, :replace, :clear, :fill, :include?,
|
25
|
+
:<=>, :slice, :slice!, :assoc, :rassoc, :+, :*, :-, :&, :|, :max, :min,
|
26
|
+
:minmax, :uniq, :uniq!, :compact, :compact!, :flatten, :flatten!,
|
27
|
+
:count, :cycle,
|
28
|
+
:permutation, :combination,
|
29
|
+
:repeated_permutation, :repeated_combination,
|
30
|
+
:product, :take, :take_while, :drop, :drop_while,
|
31
|
+
:bsearch, :bsearch_index, :any?, :all?, :none?, :one?, :dig, :sum,
|
32
|
+
:deconstruct, :append, :prepend, :shuffle!, :shuffle, :sample, :pack
|
33
|
+
)
|
34
|
+
|
35
|
+
def initialize(value, sensitive: false)
|
36
|
+
@value = value
|
37
|
+
@sensitive = sensitive
|
38
|
+
end
|
39
|
+
|
40
|
+
attr_reader :value
|
41
|
+
|
42
|
+
def sensitive?
|
43
|
+
@sensitive
|
44
|
+
end
|
45
|
+
|
46
|
+
def state
|
47
|
+
[@value, @sensitive]
|
48
|
+
end
|
49
|
+
|
50
|
+
def inspect
|
51
|
+
sensitive = sensitive? ? 'sensitive' : 'non-sensitive'
|
52
|
+
"#{value.inspect} (#{sensitive})"
|
53
|
+
end
|
54
|
+
alias to_s inspect
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../value_equality'
|
4
|
+
|
5
|
+
module RubyTerraform
|
6
|
+
module Models
|
7
|
+
class Map
|
8
|
+
extend Forwardable
|
9
|
+
|
10
|
+
include Enumerable
|
11
|
+
include ValueEquality
|
12
|
+
|
13
|
+
def_delegators(
|
14
|
+
:@value,
|
15
|
+
:rehash, :to_hash, :to_h, :to_a, :to_proc,
|
16
|
+
:[], :fetch, :[]=, :store, :default, :default=,
|
17
|
+
:default_proc, :default_proc=, :key, :size, :length, :empty?,
|
18
|
+
:each_value, :each_key, :each_pair, :each,
|
19
|
+
:transform_keys, :transform_keys!,
|
20
|
+
:transform_values, :transform_values!,
|
21
|
+
:keys, :values, :values_at, :fetch_values,
|
22
|
+
:shift, :delete, :delete_if, :keep_if,
|
23
|
+
:select, :select!, :filter, :filter!, :reject, :reject!,
|
24
|
+
:slice, :except, :clear, :invert, :update, :replace,
|
25
|
+
:merge!, :merge, :assoc, :rassoc, :flatten, :compact, :compact!,
|
26
|
+
:include?, :member?, :has_key?, :has_value?, :key?, :value?,
|
27
|
+
:compare_by_identity, :compare_by_identity?, :any?, :dig,
|
28
|
+
:<=, :<, :>=, :>, :deconstruct_keys
|
29
|
+
)
|
30
|
+
|
31
|
+
def initialize(value, sensitive: false)
|
32
|
+
@value = value
|
33
|
+
@sensitive = sensitive
|
34
|
+
end
|
35
|
+
|
36
|
+
attr_reader :value
|
37
|
+
|
38
|
+
def sensitive?
|
39
|
+
@sensitive
|
40
|
+
end
|
41
|
+
|
42
|
+
def state
|
43
|
+
[@value, @sensitive]
|
44
|
+
end
|
45
|
+
|
46
|
+
def inspect
|
47
|
+
sensitive = sensitive? ? 'sensitive' : 'non-sensitive'
|
48
|
+
"#{value.inspect} (#{sensitive})"
|
49
|
+
end
|
50
|
+
|
51
|
+
alias to_s inspect
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,147 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative './values'
|
4
|
+
|
5
|
+
module RubyTerraform
|
6
|
+
module Models
|
7
|
+
# rubocop:disable Metrics/ModuleLength
|
8
|
+
module Objects
|
9
|
+
class << self
|
10
|
+
# rubocop:disable Style/RedundantAssignment
|
11
|
+
def box(object, unknown: {}, sensitive: {})
|
12
|
+
boxed_unknown =
|
13
|
+
box_unknown(unknown, sensitive: sensitive)
|
14
|
+
boxed_object =
|
15
|
+
box_known(object, sensitive: sensitive, initial: boxed_unknown)
|
16
|
+
|
17
|
+
boxed_object
|
18
|
+
end
|
19
|
+
# rubocop:enable Style/RedundantAssignment
|
20
|
+
|
21
|
+
def paths(object, current = [], accumulator = [])
|
22
|
+
normalised = normalise(object)
|
23
|
+
if normalised.is_a?(Enumerable)
|
24
|
+
normalised.inject(accumulator) do |a, e|
|
25
|
+
paths(e[0], current + [e[1]], a)
|
26
|
+
end
|
27
|
+
else
|
28
|
+
accumulator + [current]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def known_values(paths, object: {}, sensitive: {})
|
33
|
+
paths.map do |path|
|
34
|
+
resolved = try_dig(object, path)
|
35
|
+
resolved_sensitive = try_dig(sensitive, path) == true
|
36
|
+
|
37
|
+
Values.known(resolved, sensitive: resolved_sensitive)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def unknown_values(paths, unknown: {}, sensitive: {})
|
42
|
+
paths.map do |path|
|
43
|
+
resolved = try_dig(unknown, path)
|
44
|
+
resolved_sensitive = try_dig(sensitive, path) == true
|
45
|
+
|
46
|
+
resolved ? Values.unknown(sensitive: resolved_sensitive) : nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def box_unknown(unknown, sensitive: {}, initial: Values.empty_map)
|
53
|
+
unknown_paths = paths(unknown)
|
54
|
+
unknown_values = unknown_values(
|
55
|
+
unknown_paths,
|
56
|
+
unknown: unknown, sensitive: sensitive
|
57
|
+
)
|
58
|
+
|
59
|
+
object(
|
60
|
+
unknown_paths, unknown_values,
|
61
|
+
sensitive: sensitive, initial: initial
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
65
|
+
def box_known(object, sensitive: {}, initial: Values.empty_map)
|
66
|
+
object_paths = paths(object)
|
67
|
+
object_values = known_values(
|
68
|
+
object_paths,
|
69
|
+
object: object, sensitive: sensitive
|
70
|
+
)
|
71
|
+
|
72
|
+
object(
|
73
|
+
object_paths, object_values,
|
74
|
+
sensitive: sensitive, initial: initial
|
75
|
+
)
|
76
|
+
end
|
77
|
+
|
78
|
+
def object(paths, values, sensitive: {}, initial: Values.empty_map)
|
79
|
+
paths
|
80
|
+
.zip(values)
|
81
|
+
.each_with_object(initial) do |path_value, object|
|
82
|
+
path, value = path_value
|
83
|
+
update_in(object, path, value, sensitive: sensitive)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def update_in(object, path, value, sensitive: {})
|
88
|
+
path.inject([[], path.drop(1)]) do |context, step|
|
89
|
+
seen, remaining = context
|
90
|
+
pointer = [seen, step, remaining]
|
91
|
+
|
92
|
+
update_object_for_step(object, pointer, value, sensitive: sensitive)
|
93
|
+
update_context_for_step(pointer)
|
94
|
+
end
|
95
|
+
object
|
96
|
+
end
|
97
|
+
|
98
|
+
def update_object_for_step(object, pointer, value, sensitive: {})
|
99
|
+
seen, step, remaining = pointer
|
100
|
+
|
101
|
+
parent = try_dig(object, seen, default: object)
|
102
|
+
upcoming = remaining.first
|
103
|
+
|
104
|
+
resolved_sensitive = try_dig(sensitive, seen + [step]) == true
|
105
|
+
resolved = if remaining.empty?
|
106
|
+
value
|
107
|
+
else
|
108
|
+
empty_by_type(upcoming, sensitive: resolved_sensitive)
|
109
|
+
end
|
110
|
+
|
111
|
+
parent[step] ||= resolved
|
112
|
+
end
|
113
|
+
|
114
|
+
def update_context_for_step(pointer)
|
115
|
+
seen, step, remaining = pointer
|
116
|
+
[seen + [step], remaining.drop(1)]
|
117
|
+
end
|
118
|
+
|
119
|
+
def try_dig(object, path, default: nil)
|
120
|
+
return default if path.empty?
|
121
|
+
|
122
|
+
result = object.dig(*path)
|
123
|
+
result.nil? ? default : result
|
124
|
+
rescue NoMethodError, TypeError
|
125
|
+
default
|
126
|
+
end
|
127
|
+
|
128
|
+
def empty_by_type(value, sensitive: false)
|
129
|
+
if value.is_a?(Numeric)
|
130
|
+
Values.empty_list(sensitive: sensitive)
|
131
|
+
else
|
132
|
+
Values.empty_map(sensitive: sensitive)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
def normalise(object)
|
137
|
+
case object
|
138
|
+
when Array then object.each_with_index.to_a
|
139
|
+
when Hash then object.to_a.map { |e| [e[1], e[0]] }
|
140
|
+
else object
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
# rubocop:enable Metrics/ModuleLength
|
146
|
+
end
|
147
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'resource_change'
|
4
|
+
|
5
|
+
module RubyTerraform
|
6
|
+
module Models
|
7
|
+
class Plan
|
8
|
+
def initialize(content)
|
9
|
+
@content = content
|
10
|
+
end
|
11
|
+
|
12
|
+
def format_version
|
13
|
+
@content[:format_version]
|
14
|
+
end
|
15
|
+
|
16
|
+
def terraform_version
|
17
|
+
@content[:terraform_version]
|
18
|
+
end
|
19
|
+
|
20
|
+
def variables
|
21
|
+
@content[:variables]
|
22
|
+
end
|
23
|
+
|
24
|
+
def variable_values
|
25
|
+
variables.transform_values { |value| value[:value] }
|
26
|
+
end
|
27
|
+
|
28
|
+
def resource_changes
|
29
|
+
@content[:resource_changes].map do |resource_change|
|
30
|
+
ResourceChange.new(resource_change)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def resource_changes_matching(definition)
|
35
|
+
resource_changes.filter do |resource_change|
|
36
|
+
definition.all? do |method, value|
|
37
|
+
resource_change.send(method) == value
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def inspect
|
43
|
+
@content.inspect
|
44
|
+
end
|
45
|
+
|
46
|
+
def to_h
|
47
|
+
@content
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../value_equality'
|
4
|
+
require_relative 'change'
|
5
|
+
|
6
|
+
module RubyTerraform
|
7
|
+
module Models
|
8
|
+
class ResourceChange
|
9
|
+
include ValueEquality
|
10
|
+
def initialize(content)
|
11
|
+
@content = content
|
12
|
+
end
|
13
|
+
|
14
|
+
def address
|
15
|
+
@content[:address]
|
16
|
+
end
|
17
|
+
|
18
|
+
def module_address
|
19
|
+
@content[:module_address]
|
20
|
+
end
|
21
|
+
|
22
|
+
def mode
|
23
|
+
@content[:mode]
|
24
|
+
end
|
25
|
+
|
26
|
+
def type
|
27
|
+
@content[:type]
|
28
|
+
end
|
29
|
+
|
30
|
+
def name
|
31
|
+
@content[:name]
|
32
|
+
end
|
33
|
+
|
34
|
+
def index
|
35
|
+
@content[:index]
|
36
|
+
end
|
37
|
+
|
38
|
+
def provider_name
|
39
|
+
@content[:provider_name]
|
40
|
+
end
|
41
|
+
|
42
|
+
def change
|
43
|
+
Change.new(@content[:change])
|
44
|
+
end
|
45
|
+
|
46
|
+
def no_op?
|
47
|
+
change.no_op?
|
48
|
+
end
|
49
|
+
|
50
|
+
def create?
|
51
|
+
change.create?
|
52
|
+
end
|
53
|
+
|
54
|
+
def read?
|
55
|
+
change.read?
|
56
|
+
end
|
57
|
+
|
58
|
+
def update?
|
59
|
+
change.update?
|
60
|
+
end
|
61
|
+
|
62
|
+
def replace_delete_before_create?
|
63
|
+
change.replace_delete_before_create?
|
64
|
+
end
|
65
|
+
|
66
|
+
def replace_create_before_delete?
|
67
|
+
change.replace_create_before_delete?
|
68
|
+
end
|
69
|
+
|
70
|
+
def replace?
|
71
|
+
change.replace?
|
72
|
+
end
|
73
|
+
|
74
|
+
def delete?
|
75
|
+
change.delete?
|
76
|
+
end
|
77
|
+
|
78
|
+
def inspect
|
79
|
+
@content.inspect
|
80
|
+
end
|
81
|
+
|
82
|
+
def to_h
|
83
|
+
@content
|
84
|
+
end
|
85
|
+
|
86
|
+
def state
|
87
|
+
[@content]
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../value_equality'
|
4
|
+
|
5
|
+
module RubyTerraform
|
6
|
+
module Models
|
7
|
+
class UnknownValue
|
8
|
+
include ValueEquality
|
9
|
+
|
10
|
+
def initialize(sensitive: false)
|
11
|
+
@sensitive = sensitive
|
12
|
+
end
|
13
|
+
|
14
|
+
def known?
|
15
|
+
false
|
16
|
+
end
|
17
|
+
|
18
|
+
def sensitive?
|
19
|
+
@sensitive
|
20
|
+
end
|
21
|
+
|
22
|
+
def state
|
23
|
+
[@sensitive]
|
24
|
+
end
|
25
|
+
|
26
|
+
def inspect
|
27
|
+
sensitive = sensitive? ? 'sensitive' : 'non-sensitive'
|
28
|
+
"? (unknown, #{sensitive})"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative './list'
|
4
|
+
require_relative './map'
|
5
|
+
require_relative './known_value'
|
6
|
+
require_relative './unknown_value'
|
7
|
+
|
8
|
+
module RubyTerraform
|
9
|
+
module Models
|
10
|
+
module Values
|
11
|
+
class << self
|
12
|
+
def known(value, sensitive: false)
|
13
|
+
KnownValue.new(value, sensitive: sensitive)
|
14
|
+
end
|
15
|
+
|
16
|
+
def unknown(sensitive: false)
|
17
|
+
UnknownValue.new(sensitive: sensitive)
|
18
|
+
end
|
19
|
+
|
20
|
+
def list(value, sensitive: false)
|
21
|
+
List.new(value, sensitive: sensitive)
|
22
|
+
end
|
23
|
+
|
24
|
+
def empty_list(sensitive: false)
|
25
|
+
list([], sensitive: sensitive)
|
26
|
+
end
|
27
|
+
|
28
|
+
def map(value, sensitive: false)
|
29
|
+
Map.new(value, sensitive: sensitive)
|
30
|
+
end
|
31
|
+
|
32
|
+
def empty_map(sensitive: false)
|
33
|
+
map({}, sensitive: sensitive)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/ruby_terraform.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-terraform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- InfraBlocks Maintainers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: immutable-struct
|
@@ -317,6 +317,16 @@ files:
|
|
317
317
|
- lib/ruby_terraform/commands/workspace_show.rb
|
318
318
|
- lib/ruby_terraform/errors.rb
|
319
319
|
- lib/ruby_terraform/errors/execution_error.rb
|
320
|
+
- lib/ruby_terraform/models.rb
|
321
|
+
- lib/ruby_terraform/models/change.rb
|
322
|
+
- lib/ruby_terraform/models/known_value.rb
|
323
|
+
- lib/ruby_terraform/models/list.rb
|
324
|
+
- lib/ruby_terraform/models/map.rb
|
325
|
+
- lib/ruby_terraform/models/objects.rb
|
326
|
+
- lib/ruby_terraform/models/plan.rb
|
327
|
+
- lib/ruby_terraform/models/resource_change.rb
|
328
|
+
- lib/ruby_terraform/models/unknown_value.rb
|
329
|
+
- lib/ruby_terraform/models/values.rb
|
320
330
|
- lib/ruby_terraform/options.rb
|
321
331
|
- lib/ruby_terraform/options/definition.rb
|
322
332
|
- lib/ruby_terraform/options/definitions.rb
|
@@ -333,6 +343,7 @@ files:
|
|
333
343
|
- lib/ruby_terraform/options/values/key_value.rb
|
334
344
|
- lib/ruby_terraform/options/values/string.rb
|
335
345
|
- lib/ruby_terraform/output.rb
|
346
|
+
- lib/ruby_terraform/value_equality.rb
|
336
347
|
- lib/ruby_terraform/version.rb
|
337
348
|
- ruby_terraform.gemspec
|
338
349
|
homepage: https://github.com/infrablocks/ruby_terraform
|
@@ -351,9 +362,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
351
362
|
version: '2.7'
|
352
363
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
353
364
|
requirements:
|
354
|
-
- - "
|
365
|
+
- - ">"
|
355
366
|
- !ruby/object:Gem::Version
|
356
|
-
version:
|
367
|
+
version: 1.3.1
|
357
368
|
requirements: []
|
358
369
|
rubygems_version: 3.1.6
|
359
370
|
signing_key:
|