Sha256: 6a34fbc76108adc24a336ea160f93caa3667e1c0acb2b77cf43bf1d6039733b3

Contents?: true

Size: 1007 Bytes

Versions: 4

Compression:

Stored size: 1007 Bytes

Contents

# frozen_string_literal: true

require 'ruby_terraform'

module RSpec
  module Terraform
    module Helpers
      class Apply
        attr_reader(:overrides, :configuration_provider)

        def initialize(overrides = {}, configuration_provider = nil)
          @overrides = overrides
          @configuration_provider =
            configuration_provider || Configuration.identity_provider
        end

        def execute
          parameters = configuration_provider.resolve(overrides)
          parameters = parameters.merge(
            input: false,
            auto_approve: true
          )

          do_apply(parameters)
        end

        private

        def do_apply(parameters)
          RubyTerraform.apply(
            chdir: parameters[:configuration_directory],
            state: parameters[:state_file],
            vars: parameters[:vars],
            input: parameters[:input],
            auto_approve: parameters[:auto_approve]
          )
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rspec-terraform-0.1.0.pre.23 lib/rspec/terraform/helpers/apply.rb
rspec-terraform-0.1.0.pre.22 lib/rspec/terraform/helpers/apply.rb
rspec-terraform-0.1.0.pre.21 lib/rspec/terraform/helpers/apply.rb
rspec-terraform-0.1.0.pre.20 lib/rspec/terraform/helpers/apply.rb