module Lono::Template::Strategy::Dsl::Builder::Section::Methods

Public Instance Methods

aws_template_format_version(version_date) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/lono/template/strategy/dsl/builder/section/methods.rb, line 8
def description(text)
  @cfn["Description"] = text
end
mapping(*definition) click to toggle source
# 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) click to toggle source
# File lib/lono/template/strategy/dsl/builder/section/methods.rb, line 12
def metadata(data)
  @cfn["Metadata"] = data
end
output(*definition) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source

Generic section method in case CloudFormation adds a new future section. The generic section method adds a new top-level key

# 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) click to toggle source
# 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