Class: RubyTerraform::Commands::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_terraform/commands/base.rb

Instance Method Summary collapse

Constructor Details

#initialize(**opts) ⇒ Base

Constructs an instance of the command.



14
15
16
17
18
19
20
21
# File 'lib/ruby_terraform/commands/base.rb', line 14

def initialize(**opts)
  @binary  = opts[:binary]  || RubyTerraform.configuration.binary
  @logger  = opts[:logger]  || RubyTerraform.configuration.logger
  @options = opts[:options] || RubyTerraform.configuration.options
  @stdin   = opts[:stdin]   || RubyTerraform.configuration.stdin
  @stdout  = opts[:stdout]  || RubyTerraform.configuration.stdout
  @stderr  = opts[:stderr]  || RubyTerraform.configuration.stderr
end

Instance Method Details

#execute(parameters = {}, invocation_options = {}) ⇒ Object

Executes the command instance.

Parameters:

  • parameters (Hash<String, Object>) (defaults to: {})

    The parameters used to invoke the command. See subclass documentation for details of supported options.

  • invocation_options (Hash<String, Object>) (defaults to: {})

    Additional options controlling the invocation of the command.

Options Hash (invocation_options):

  • :environment (Hash<String, String>)

    A map of environment variables to expose at command invocation time.



34
35
36
37
38
39
40
41
42
# File 'lib/ruby_terraform/commands/base.rb', line 34

def execute(parameters = {}, invocation_options = {})
  do_before(parameters)
  build_and_execute_command(parameters, invocation_options)
  do_after(parameters)
rescue Open4::SpawnError
  message = "Failed while running '#{command_name}'."
  logger.error(message)
  raise Errors::ExecutionError, message
end