Sha256: a64b87437585c5c6ec467eed3a8eb447fe66577c001edd8c36925f74ed73bf8d
Contents?: true
Size: 1002 Bytes
Versions: 15
Compression:
Stored size: 1002 Bytes
Contents
# frozen_string_literal: true require_relative 'jsonable' module CfnDsl # Handles Resource objects class ResourceDefinition < JSONable dsl_attr_setter :Type, :UpdateReplacePolicy, :DeletionPolicy, :Condition, :Metadata dsl_content_object :Property, :UpdatePolicy, :CreationPolicy def add_tag(name, value, propagate = nil) send(:Tag) do Key name Value value PropagateAtLaunch propagate unless propagate.nil? end end # DependsOn can be a single value or a list def DependsOn(value) case @DependsOn when nil @DependsOn = value when Array @DependsOn << value else @DependsOn = [@DependsOn, value] end if @DependsOn.is_a?(Array) @DependsOn.flatten! @DependsOn.uniq! end @DependsOn end def condition_refs [@Condition].flatten.compact.map(&:to_s) end def all_refs [@DependsOn].flatten.compact.map(&:to_s) end end end
Version data entries
15 entries across 15 versions & 1 rubygems