Sha256: f0dbd1b9a4265bd351c1f7731d0af3c0ab6726af7e93c89e4632d3f591f43e46

Contents?: true

Size: 731 Bytes

Versions: 25

Compression:

Stored size: 731 Bytes

Contents

# frozen_string_literal: true

require 'yaml'
require 'erb'
require 'net/http'
require 'uri'
require_relative 'cfnlego/cloudformation'
require_relative 'cfnlego/resource'
require_relative 'specification'

# Cfnlego
module Cfnlego
  def self.resources
    @resources ||= CfnDsl::Specification.load_file.resources
  end

  def self.run(options)
    resources =
      options[:resources].each_with_object([]) do |r, list|
        /(.*),(.*)/.match(r) do |m|
          type = m[1]
          name = m[2]
          list << Cfnlego::Resource.new(type, name)
        end
      end

    begin
      return Cfnlego::CloudFormation.new(resources).render
    rescue RuntimeError => e
      warn "Error: #{e.message}"
    end
    nil
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
cfndsl-1.7.2 lib/cfndsl/cfnlego.rb
cfndsl-1.6.0 lib/cfndsl/cfnlego.rb
cfndsl-1.5.0 lib/cfndsl/cfnlego.rb
cfndsl-1.4.0 lib/cfndsl/cfnlego.rb
cfndsl-1.3.9 lib/cfndsl/cfnlego.rb
cfndsl-1.3.8 lib/cfndsl/cfnlego.rb
cfndsl-1.3.7 lib/cfndsl/cfnlego.rb
cfndsl-1.3.6 lib/cfndsl/cfnlego.rb
cfndsl-1.3.5 lib/cfndsl/cfnlego.rb
cfndsl-1.3.4 lib/cfndsl/cfnlego.rb
cfndsl-1.3.3 lib/cfndsl/cfnlego.rb
cfndsl-1.3.2 lib/cfndsl/cfnlego.rb
cfndsl-1.3.1 lib/cfndsl/cfnlego.rb
cfndsl-1.3.0 lib/cfndsl/cfnlego.rb
cfndsl-1.2.0 lib/cfndsl/cfnlego.rb
cfndsl-1.1.1 lib/cfndsl/cfnlego.rb
cfndsl-1.1.0 lib/cfndsl/cfnlego.rb
cfndsl-1.0.6 lib/cfndsl/cfnlego.rb
cfndsl-1.0.5 lib/cfndsl/cfnlego.rb
cfndsl-1.0.4 lib/cfndsl/cfnlego.rb