Sha256: c26223a20bc827b9603992aa508a047f9e8c19f8306dfe6a96277803fb518157

Contents?: true

Size: 613 Bytes

Versions: 4

Compression:

Stored size: 613 Bytes

Contents

module Terraspace::Terraform::Ihooks::Before
  class Plan < Terraspace::Terraform::Ihooks::Base
    def run
      cani?

      return unless @mod.out_option
      return if @mod.out_option =~ %r{^/} # not need to create parent dir for copy with absolute path

      name = @mod.out_option.sub("#{Terraspace.root}/",'')
      dest = "#{@mod.cache_dir}/#{name}"
      FileUtils.mkdir_p(File.dirname(dest))
    end

    def cani?
      return unless Terraspace.cloud?
      kind = destroy? ? "destroy" : "apply"
      Terraspace::Cloud::Plan.new(@options.merge(stack: @mod.name, kind: kind)).cani?
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
terraspace-2.0.3 lib/terraspace/terraform/ihooks/before/plan.rb
terraspace-2.0.2 lib/terraspace/terraform/ihooks/before/plan.rb
terraspace-2.0.1 lib/terraspace/terraform/ihooks/before/plan.rb
terraspace-2.0.0 lib/terraspace/terraform/ihooks/before/plan.rb