Class: Kitchen::Terraform::Command::Init::PostZeroFifteenZero

Inherits:
Object
  • Object
show all
Defined in:
lib/kitchen/terraform/command/init/post_zero_fifteen_zero.rb

Overview

The working directory is initialized by running a command like the following example:

terraform init \
  -backend=true \
  [-backend-config=<backend_configurations[0]> ...] \
  -force-copy \
  -get=true \
  -input=false \
  [-no-color] \
  [-plugin-dir=<plugin_directory>] \
  [-upgrade=true] \
  <root_module_directory>

Instance Method Summary collapse

Constructor Details

#initialize(config:) ⇒ Kitchen::Terraform::Command::Init::PostZeroFifteenZero

#initialize prepares a new instance of the class.

Parameters:

  • config (Hash)

    the configuration of the driver.

Options Hash (config:):

  • :backend_configurations (Hash{String=>String})

    Terraform backend configuration arguments to complete a partial backend configuration.

  • :color (Boolean)

    a toggle of colored output from the Terraform client. on the state to be obtained during operations.

  • :plugin_directory (String)

    the pathname of the directory which contains customized Terraform provider plugins to install in place of the official Terraform provider plugins.

  • :upgrade_during_init (Boolean)

    a toggle for upgrading modules and plugins.



50
51
52
53
54
55
56
57
58
59
# File 'lib/kitchen/terraform/command/init/post_zero_fifteen_zero.rb', line 50

def initialize(config:)
  self.backend_config = ::Kitchen::Terraform::CommandFlag::BackendConfig.new arguments: config.fetch(
    :backend_configurations
  )
  self.color = ::Kitchen::Terraform::CommandFlag::Color.new enabled: config.fetch(:color)
  self.plugin_dir = ::Kitchen::Terraform::CommandFlag::PluginDir.new pathname: config.fetch(
    :plugin_directory
  )
  self.upgrade = ::Kitchen::Terraform::CommandFlag::Upgrade.new enabled: config.fetch(:upgrade_during_init)
end

Instance Method Details

#to_sString

Returns the command with flags.

Returns:

  • (String)

    the command with flags.



62
63
64
65
66
67
68
69
70
71
72
# File 'lib/kitchen/terraform/command/init/post_zero_fifteen_zero.rb', line 62

def to_s
  "init " \
  "-backend=true " \
  "#{backend_config} " \
  "-force-copy=true " \
  "-get=true " \
  "-input=false " \
  "#{color} " \
  "#{plugin_dir} " \
  "#{upgrade}"
end