Sha256: eb44613ef51044ecd7fd7206518454978c00177d22ff0c5627d6ae203d0638d6

Contents?: true

Size: 995 Bytes

Versions: 9

Compression:

Stored size: 995 Bytes

Contents

# frozen_string_literal: true

require_relative 'resource_change'

module RubyTerraform
  module Models
    class Plan
      def initialize(content)
        @content = content
      end

      def format_version
        @content[:format_version]
      end

      def terraform_version
        @content[:terraform_version]
      end

      def variables
        @content[:variables]
      end

      def variable_values
        variables.transform_values { |value| value[:value] }
      end

      def resource_changes
        @content[:resource_changes].map do |resource_change|
          ResourceChange.new(resource_change)
        end
      end

      def resource_changes_matching(definition)
        resource_changes.filter do |resource_change|
          definition.all? do |method, value|
            resource_change.send(method) == value
          end
        end
      end

      def inspect
        @content.inspect
      end

      def to_h
        @content
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ruby-terraform-1.7.0.pre.9 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.8 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.7 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.6 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.5 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.4 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.3 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.2 lib/ruby_terraform/models/plan.rb
ruby-terraform-1.7.0.pre.1 lib/ruby_terraform/models/plan.rb