Sha256: 1ca529f7f72247bf140bcaa6edba340b4b63144b5150053882eb424311ea430d

Contents?: true

Size: 786 Bytes

Versions: 1

Compression:

Stored size: 786 Bytes

Contents

module Terraforming::Util
  def apply_template(client, erb)
    ERB.new(open(template_path(erb)).read, nil, "-").result(binding)
  end

  def name_from_tag(resource, default_name)
    name_tag = resource.tags.find { |tag| tag.key == "Name" }
    name_tag ? name_tag.value : default_name
  end

  def normalize_module_name(name)
    name.gsub(/[^a-zA-Z0-9_-]/, "-")
  end

  def template_path(template_name)
    File.join(File.expand_path(File.dirname(__FILE__)), "template", template_name) << ".erb"
  end

  def generate_tfstate(resources)
    tfstate = {
      "version" => 1,
      "serial" => 1,
      "modules" => {
        "path" => [
          "root"
        ],
        "outputs" => {},
        "resources" => resources
      }
    }

    JSON.pretty_generate(tfstate)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
terraforming-0.0.1 lib/terraforming/util.rb