Module: Lono::Template::Strategy::Dsl::Builder::Section::Methods
- Included in:
- Lono::Template::Strategy::Dsl::Builder::Syntax
- Defined in:
- lib/lono/template/strategy/dsl/builder/section/methods.rb
Instance Method Summary collapse
- #aws_template_format_version(version_date) ⇒ Object
- #condition(*definition) ⇒ Object
- #description(text) ⇒ Object
- #mapping(*definition) ⇒ Object
- #metadata(data) ⇒ Object
- #output(*definition) ⇒ Object
- #parameter(*definition) ⇒ Object
- #resource(*definition) ⇒ Object
-
#section(key, definition) ⇒ Object
Generic section method in case CloudFormation adds a new future section.
- #transform(*definition) ⇒ Object
Instance Method Details
#aws_template_format_version(version_date) ⇒ Object
4 5 6 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 4 def aws_template_format_version(version_date) @cfn["AWSTemplateFormatVersion"] = version_date end |
#condition(*definition) ⇒ Object
46 47 48 49 50 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 46 def condition(*definition) @cfn["Conditions"] ||= {} condition = Condition.new(@blueprint, definition) @cfn["Conditions"].merge!(condition.template) end |
#description(text) ⇒ Object
8 9 10 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 8 def description(text) @cfn["Description"] = text end |
#mapping(*definition) ⇒ Object
34 35 36 37 38 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 34 def mapping(*definition) @cfn["Mappings"] ||= {} mapping = Mapping.new(@blueprint, definition) @cfn["Mappings"].merge!(mapping.template) end |
#metadata(data) ⇒ Object
12 13 14 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 12 def (data) @cfn["Metadata"] = data end |
#output(*definition) ⇒ Object
52 53 54 55 56 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 52 def output(*definition) @cfn["Outputs"] ||= {} output = Output.new(@blueprint, definition) @cfn["Outputs"].merge!(output.template) end |
#parameter(*definition) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 21 def parameter(*definition) @cfn["Parameters"] ||= {} param = Parameter.new(@blueprint, definition) @cfn["Parameters"].merge!(param.template) # Additional decorations param.group_label = @group_label @parameters << param # register for to build Metadata Interface later if param.conditional condition("Has#{param.name}", not!(equals(ref(param.name), ""))) end end |
#resource(*definition) ⇒ Object
40 41 42 43 44 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 40 def resource(*definition) @cfn["Resources"] ||= {} resource = Resource.new(@blueprint, definition) @cfn["Resources"].merge!(resource.template) end |
#section(key, definition) ⇒ Object
Generic section method in case CloudFormation adds a new future section. The generic section method adds a new top-level key
60 61 62 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 60 def section(key, definition) @cfn[key] = Section.new(@blueprint, definition).template end |
#transform(*definition) ⇒ Object
16 17 18 19 |
# File 'lib/lono/template/strategy/dsl/builder/section/methods.rb', line 16 def transform(*definition) definition = definition.flatten @cfn["Transform"] = definition.size == 1 ? definition.first : definition end |