Class: SimplyGenius::Atmos::Commands::Init

Inherits:
Terraform show all
Includes:
FileUtils
Defined in:
lib/simplygenius/atmos/commands/init.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Terraform

#parse

Methods included from UI

#agree, #ask, #choose, color_enabled, color_enabled=, #display, #error, #notify, #say, #warn

Class Method Details

.descriptionObject



12
13
14
# File 'lib/simplygenius/atmos/commands/init.rb', line 12

def self.description
  "Runs terraform init"
end

Instance Method Details

#executeObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/simplygenius/atmos/commands/init.rb', line 16

def execute
  @terraform_arguments.insert(0, "init")
  super

  if ! Atmos.config["atmos.terraform.disable_shared_plugins"]
    home_dir = OS.windows? ? File.join("~", "Application Data") : "~"
    shared_plugins_dir = File.expand_path(File.join(home_dir,".terraform.d", "plugins"))
    logger.debug("Updating shared terraform plugins dir: #{shared_plugins_dir}")
    mkdir_p(shared_plugins_dir)
    terraform_plugins_dir = File.join(Atmos.config.tf_working_dir,'recipes', '.terraform', 'plugins')
    if File.exist?(terraform_plugins_dir)
      cp_r("#{terraform_plugins_dir}/.", shared_plugins_dir)
    end
  end

end