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

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