class Kitchen::Terraform::VersionVerifier

VersionVerifier is the class of objects which verify a Terraform client version against a requirement.

Attributes

version_verifier_strategy_factory[RW]

Public Class Methods

new(version_requirement:) click to toggle source

initialize prepares a new instance of the class.

@param version_requirement [Gem::Requirement] the requirement for version support. @return [Kitchen::Terraform::VersionVerifier]

# File lib/kitchen/terraform/version_verifier.rb, line 39
def initialize(version_requirement:)
  self.version_verifier_strategy_factory = ::Kitchen::Terraform::VersionVerifierStrategyFactory.new(
    version_requirement: version_requirement,
  )
end

Public Instance Methods

verify(version:) click to toggle source

verify verifies a version against the requirement.

@param version [Gem::Version] the Terraform client version. @raise [Kitchen::TransientFailure] if running the command fails. @raise [Kitchen::UserError] if the version is unsupported. @return [self]

# File lib/kitchen/terraform/version_verifier.rb, line 29
def verify(version:)
  version_verifier_strategy_factory.build(version: version).call

  self
end