class Kitchen::Terraform::Command::Init::PostZeroFifteenZero

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>

Attributes

backend_config[RW]
color[RW]
lock[RW]
lock_timeout[RW]
options[RW]
plugin_dir[RW]
upgrade[RW]

Public Class Methods

new(config:) click to toggle source

initialize prepares a new instance of the class.

@param config [Hash] the configuration of the driver. @option config [Hash{String=>String}] :backend_configurations Terraform backend configuration arguments to

complete a partial backend configuration.

@option config [Boolean] :color a toggle of colored output from the Terraform client.

on the state to be obtained during operations.

@option config [String] :plugin_directory the pathname of the directory which contains

customized Terraform provider plugins to install in place of the official Terraform provider plugins.

@option config [Boolean] :upgrade_during_init a toggle for upgrading modules and plugins. @return [Kitchen::Terraform::Command::Init::PostZeroFifteenZero]

# 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

Public Instance Methods

to_s() click to toggle source

@return [String] the command with flags.

# 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