class RakeTerraform::PlanTask::Task
Custom rake task to run `terraform plan`
Public Class Methods
new(opts)
click to toggle source
# File lib/rake-terraform/plan_task/task.rb, line 9 def initialize(opts) @opts = opts end
Public Instance Methods
execute()
click to toggle source
# File lib/rake-terraform/plan_task/task.rb, line 13 def execute pre_execute_checks Dir.chdir(@opts.get(:input_dir)) do puts "=> Generating plan for #{@opts.get(:input_dir)}..." if @opts[:unique_state] tf_plan(@opts[:output_file], @opts[:state_file]) else tf_plan(@opts[:output_file]) end end end
Private Instance Methods
ensure_output_directory()
click to toggle source
# File lib/rake-terraform/plan_task/task.rb, line 37 def ensure_output_directory dir = File.dirname @opts.get(:output_file) FileUtils.mkdir_p dir unless File.exist? dir end
pre_execute_checks()
click to toggle source
run pre execution checks
# File lib/rake-terraform/plan_task/task.rb, line 28 def pre_execute_checks validate_terraform_installed ensure_output_directory Dir.chdir(@opts.get(:input_dir)) do puts '=> Fetching modules...' tf_get end end