Sha256: 5fa5ce6d28c929ea22a5bc578426d81fefabdef7d80d4b90851b6a1212908474

Contents?: true

Size: 684 Bytes

Versions: 6

Compression:

Stored size: 684 Bytes

Contents

# frozen_string_literal: true

require 'yaml'
require 'net/http'
require 'uri'

# Cfnlego
module  Cfnlego
  # Resource
  class Resource
    attr_reader :type, :name

    def initialize(type, name)
      @type = type
      @name = name
    end

    def attributes
      definition['Attributes']
    end

    def properties
      definition['Properties']
    end

    private

    def definition
      content = Cfnlego.fetch_resource_content
      datainput = JSON.parse(content)
      data = datainput['ResourceTypes']
      begin
        @definition ||= data[@type]
      rescue RuntimeError
        raise "unknown #{@type}, no matching definition found"
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cfndsl-0.17.5 lib/cfnlego/resource.rb
cfndsl-0.17.4 lib/cfnlego/resource.rb
cfndsl-0.17.3 lib/cfnlego/resource.rb
cfndsl-0.17.2 lib/cfnlego/resource.rb
cfndsl-0.17.1 lib/cfnlego/resource.rb
cfndsl-0.17.0 lib/cfnlego/resource.rb