module Kitchen::Terraform::ConfigAttribute::Client

This attribute contains the pathname of the {www.terraform.io/docs/commands/index.html Terraform client} to be used by Kitchen-Terraform.

If the value is not an absolute pathname or a relative pathname then Kitchen-Terraform will attempt to find the value in the directories of the {en.wikipedia.org/wiki/PATH_(variable) PATH}.

The pathname of any executable file which implements the interfaces of the following Terraform client commands may be specified: apply; destroy; get; init; validate; workspace.

Type

{www.yaml.org/spec/1.2/spec.html#id2760844 Scalar}

Required

False

Default

terraform

Example

client: /usr/local/bin/terraform

Example

client: ./bin/terraform

Example

client: terraform

Public Class Methods

included(plugin_class) click to toggle source

.included is a callback to define the configuration attribute which is invoked when this module is included in a plugin class.

@param plugin_class [Kitchen::Configurable] A plugin class. @return [self]

# File lib/kitchen/terraform/config_attribute/client.rb, line 47
def included(plugin_class)
  ::Kitchen::Terraform::ConfigAttributeDefiner.new(
    attribute: self,
    schema: ::Kitchen::Terraform::ConfigAttributeContract::String.new,
  ).define plugin_class: plugin_class
  plugin_class.expand_path_for to_sym do |plugin|
    !::TTY::Which.exist? plugin[to_sym]
  end

  self
end
to_sym() click to toggle source

@return [Symbol] the symbol corresponding to this attribute.

# File lib/kitchen/terraform/config_attribute/client.rb, line 60
def to_sym
  :client
end

Public Instance Methods

config_client_default_value() click to toggle source

@return [String] </code>“terraform”</code>

# File lib/kitchen/terraform/config_attribute/client.rb, line 68
def config_client_default_value
  "terraform"
end