winebarrel/rhcl

Parse terraform variables

Opened this issue · 0 comments

rhcl can't parse variables like var.foobar

Example

data "external" "foobar" {
  program = ["ruby", "${var.puppet_repo}/bin/terraform/read-hiera.rb"]
  query = {
    "puppet_repo"           = var.puppet_repo
    "hiera_file"            = "${var.puppet_repo}/hiera/env/${var.environment}/foobar.yaml"
  }
 }

irb

require 'rhcl'
require 'json'
file=/tmp/foo.tf
Rhcl.parse(file)
Racc::ParseError (parse error on value: =)
  2: data "external" "foobar" {
  3:   program = ["ruby", "${var.puppet_repo}/bin/terraform/read-hiera.rb"]
  4:   query = {
*  5:     "puppet_repo"            __=__  var.puppet_repo
  6:     "hiera_file"            = "${var.puppet_repo}/hiera/env/${var.environment}/foobar.yaml"