ruby-terraform 1.7.0.pre.8 → 1.7.0.pre.11

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: 29d107877da7868db24f108a46175dcc3f72b92baa17453cfd588784ecadbbe5
4
- data.tar.gz: 4c3f6114288c1428313eb48c08a48d48ef1c824dbdcaf3c1f770c45a694687bd
3
+ metadata.gz: f862162fcf6b6a867d5d941ab4c9ea77a8becf5c9cbae1eb7f125a3b0af961a5
4
+ data.tar.gz: f8a4e9a47744a984dd6d91a51607c1d6bfb65b5d8dca05d07f7c313b551ee3ec
5
5
  SHA512:
6
- metadata.gz: ef8aa4827093bdd287a3473ba0d61ce2812152812e3f60b8836b4aff306992ca77d5c619da0f591bf5f05c5f8b5a77181bb535e0f10a80adc924cbf8251264b9
7
- data.tar.gz: 72f79d40b6d54ec9d5ad5998e953633b856778e1d3d565fddcac05ae8a7b0dd299de73a575624342c394f4e3bc39ac16bb2c492ae7717f3ced03bf9962dade25
6
+ metadata.gz: bbb840db295d429f7acc440f8d6b82dc54ba52fa025a1cc158ead7bfb543abee9d458239d5fb0e7f9a7b40c998aad8b0d6d5213e054e4491e56da191a267a765
7
+ data.tar.gz: '0803b4b3d638d9ce2b6a05c87f1be13b0a020764a62834e492f8a9e13ee53fe5abc7da69e1156b01f5231223768c0fcf4252c19fb8115c5a45e3a4b528376412'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-terraform (1.7.0.pre.8)
4
+ ruby-terraform (1.7.0.pre.11)
5
5
  immutable-struct (~> 2.4)
6
6
  lino (~> 3.0)
7
7
 
@@ -22,7 +22,7 @@ GEM
22
22
  diff-lcs (1.5.0)
23
23
  docile (1.4.0)
24
24
  excon (0.92.3)
25
- faker (2.21.0)
25
+ faker (2.22.0)
26
26
  i18n (>= 1.8.11, < 2)
27
27
  faraday (2.3.0)
28
28
  faraday-net_http (~> 2.0)
@@ -47,7 +47,7 @@ GEM
47
47
  rspec (>= 2.99.0, < 4.0)
48
48
  hamster (3.0.0)
49
49
  concurrent-ruby (~> 1.0)
50
- i18n (1.10.0)
50
+ i18n (1.12.0)
51
51
  concurrent-ruby (~> 1.0)
52
52
  immutable-struct (2.4.1)
53
53
  json (2.6.2)
@@ -180,4 +180,4 @@ DEPENDENCIES
180
180
  yard
181
181
 
182
182
  BUNDLED WITH
183
- 2.3.18
183
+ 2.3.19
@@ -23,7 +23,7 @@ module RubyTerraform
23
23
  @sensitive
24
24
  end
25
25
 
26
- def render(**_)
26
+ def render(_ = {})
27
27
  @value.nil? ? 'null' : @value.inspect
28
28
  end
29
29
 
@@ -58,7 +58,7 @@ module RubyTerraform
58
58
  extra = level.times.collect { |_| indent }.join
59
59
  lines =
60
60
  value
61
- .collect { |i| "#{extra}#{indent}#{i.render(opts)}" }
61
+ .collect { |i| "#{extra}#{indent}#{i.render(**opts)}" }
62
62
  .join(",\n")
63
63
 
64
64
  "[\n#{lines}\n#{extra}]"
@@ -56,7 +56,7 @@ module RubyTerraform
56
56
  extra = level.times.collect { |_| indent }.join
57
57
  lines =
58
58
  value
59
- .collect { |k, v| "#{extra}#{self_indent}#{k} = #{v.render(opts)}" }
59
+ .collect { |k, v| "#{extra}#{self_indent}#{k} = #{v.render(**opts)}" }
60
60
  .join("\n")
61
61
 
62
62
  bare ? lines : "{\n#{lines}\n#{extra}}"
@@ -24,7 +24,7 @@ module RubyTerraform
24
24
  @sensitive
25
25
  end
26
26
 
27
- def render(**_)
27
+ def render(_ = {})
28
28
  '...'
29
29
  end
30
30
 
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../value_equality'
4
+ require_relative 'change'
5
+
6
+ module RubyTerraform
7
+ module Models
8
+ class OutputChange
9
+ include ValueEquality
10
+
11
+ attr_reader(:name)
12
+
13
+ def initialize(name, content)
14
+ @name = name
15
+ @content = content
16
+ end
17
+
18
+ def change
19
+ Change.new(@content)
20
+ end
21
+
22
+ def create?
23
+ change.create?
24
+ end
25
+
26
+ def update?
27
+ change.update?
28
+ end
29
+
30
+ def delete?
31
+ change.delete?
32
+ end
33
+
34
+ def present_before?
35
+ update? || delete?
36
+ end
37
+
38
+ def present_after?
39
+ create? || update?
40
+ end
41
+
42
+ def inspect
43
+ to_h.inspect
44
+ end
45
+
46
+ def to_h
47
+ { @name => @content }
48
+ end
49
+
50
+ def state
51
+ [@name, @content]
52
+ end
53
+ end
54
+ end
55
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'resource_change'
4
+ require_relative 'output_change'
4
5
 
5
6
  module RubyTerraform
6
7
  module Models
@@ -39,6 +40,20 @@ module RubyTerraform
39
40
  end
40
41
  end
41
42
 
43
+ def output_changes
44
+ @content[:output_changes].map do |output_name, output_change|
45
+ OutputChange.new(output_name, output_change)
46
+ end
47
+ end
48
+
49
+ def output_changes_matching(definition)
50
+ output_changes.filter do |output_change|
51
+ definition.all? do |method, value|
52
+ output_change.send(method) == value
53
+ end
54
+ end
55
+ end
56
+
42
57
  def inspect
43
58
  @content.inspect
44
59
  end
@@ -7,6 +7,7 @@ module RubyTerraform
7
7
  module Models
8
8
  class ResourceChange
9
9
  include ValueEquality
10
+
10
11
  def initialize(content)
11
12
  @content = content
12
13
  end
@@ -24,7 +24,7 @@ module RubyTerraform
24
24
  @sensitive
25
25
  end
26
26
 
27
- def render(**_)
27
+ def render(_ = {})
28
28
  '(known after apply)'
29
29
  end
30
30
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyTerraform
4
- VERSION = '1.7.0.pre.8'
4
+ VERSION = '1.7.0.pre.11'
5
5
  end
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.7.0.pre.8
4
+ version: 1.7.0.pre.11
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-07-25 00:00:00.000000000 Z
11
+ date: 2022-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: immutable-struct
@@ -324,6 +324,7 @@ files:
324
324
  - lib/ruby_terraform/models/map.rb
325
325
  - lib/ruby_terraform/models/objects.rb
326
326
  - lib/ruby_terraform/models/omitted_value.rb
327
+ - lib/ruby_terraform/models/output_change.rb
327
328
  - lib/ruby_terraform/models/path.rb
328
329
  - lib/ruby_terraform/models/path_set.rb
329
330
  - lib/ruby_terraform/models/plan.rb