Sha256: f54d096983640ad2d49000b362ac33b74d5b422b05ea5d69763a533aa89d9136

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

require 'cfndsl/jsonable'
require 'cfndsl/metadata'
require 'cfndsl/properties'
require 'cfndsl/update_policy'

module CfnDsl
  # Handles Resource objects
  class ResourceDefinition < JSONable
    dsl_attr_setter :Type, :DependsOn, :DeletionPolicy, :Condition
    dsl_content_object :Property, :Metadata, :UpdatePolicy, :CreationPolicy

    # rubocop:disable UnusedMethodArgument
    # rubocop:disable UselessAssignment
    def addTag(name, value, propagate = nil)
      logstream.puts("This method is deprecated and will be removed in the next major release, please use 'add_tag' instead.") if logstream
      add_tag(name, value, propagate = nil)
    end

    def add_tag(name, value, propagate = nil)
      send(:Tag) do
        Key name
        Value value
        PropagateAtLaunch propagate unless propagate.nil?
      end
    end

    def all_refs
      refs = []
      if @DependsOn
        if @DependsOn.respond_to?(:each)
          @DependsOn.each do |dep|
            refs.push dep
          end
        end

        refs.push @DependsOn if @DependsOn.instance_of?(String)
      end

      refs
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cfndsl-0.5.1 lib/cfndsl/resources.rb
cfndsl-0.5.0 lib/cfndsl/resources.rb
cfndsl-0.5.1.pre lib/cfndsl/resources.rb