module Kitchen::Pulumi::Command::Input

Class used to fetch resolved stack inputs via '$ pulumi config –json'

Public Class Methods

run(directory:, stack:, conf_file:, logger:) { |inputs: stringified_hash( parse, )| ... } click to toggle source
# File lib/kitchen/pulumi/command/input.rb, line 15
def run(directory:, stack:, conf_file:, logger:)
  cmd = "config -C #{directory} -s #{stack} #{conf_file} -j"

  ::Kitchen::Pulumi::ShellOut.run(cmd: cmd, logger: logger) do |stdout:|
    yield inputs: ::Kitchen::Util.stringified_hash(
      ::JSON.parse(stdout),
    )
  end
rescue ::JSON::ParserError => e
  raise(
    ::Kitchen::Pulumi::Error,
    "Parsing resolved stack config as JSON failed: #{e.message}",
  )
end