Module: Cfer::Groups::ResourceGroup
- Defined in:
- lib/cfer/groups/resource_group.rb
Instance Attribute Summary collapse
-
#stack ⇒ Object
readonly
Returns the value of attribute stack.
Instance Method Summary collapse
- #get_att(obj, att) ⇒ Object
- #initialize(name, type, stack, **options, &block) ⇒ Object
- #name_of(name) ⇒ Object
- #output(name, value, options = {}) ⇒ Object
- #parameter(name, options = {}) ⇒ Object
- #ref(obj) ⇒ Object
- #resource(name, type, options = {}, &block) ⇒ Object
Instance Attribute Details
#stack ⇒ Object (readonly)
Returns the value of attribute stack.
4 5 6 |
# File 'lib/cfer/groups/resource_group.rb', line 4 def stack @stack end |
Instance Method Details
#get_att(obj, att) ⇒ Object
60 61 62 |
# File 'lib/cfer/groups/resource_group.rb', line 60 def get_att(obj, att) Cfer::Core::Functions::Fn::get_att name_of(obj), att end |
#initialize(name, type, stack, **options, &block) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/cfer/groups/resource_group.rb', line 6 def initialize(name, type, stack, **, &block) @group_name = name @resource_type = type = { DependsOn: [] }.merge() super name, "AWS::CloudFormation::WaitConditionHandle", stack, do self.instance_exec &block if block self[:Metadata] = { Type: type, Properties: self[:Properties] } end Docile.dsl_eval self, self[:Properties] do self.instance_exec self[:Properties], &self.class.block if self.class.block end self[:Properties] = {} end |
#name_of(name) ⇒ Object
48 49 50 |
# File 'lib/cfer/groups/resource_group.rb', line 48 def name_of(name) "#{@group_name}#{name}" end |
#output(name, value, options = {}) ⇒ Object
44 45 46 |
# File 'lib/cfer/groups/resource_group.rb', line 44 def output(name, value, = {}) stack.output name_of(name), value, end |
#parameter(name, options = {}) ⇒ Object
56 57 58 |
# File 'lib/cfer/groups/resource_group.rb', line 56 def parameter(name, = {}) stack.parameter name_of(name), end |
#ref(obj) ⇒ Object
52 53 54 |
# File 'lib/cfer/groups/resource_group.rb', line 52 def ref(obj) Cfer::Core::Functions::Fn::ref name_of(obj) end |
#resource(name, type, options = {}, &block) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cfer/groups/resource_group.rb', line 25 def resource(name, type, = {}, &block) rc_name = name_of(name) self[:DependsOn] << rc_name group = self rc = @stack.resource rc_name, type, do self.cfer_resource_group = group self.instance_eval &block end if self[:Tags] self[:Tags].each do |t| rc.tag t["Key"], t["Value"] end end rc end |