Module: Lono::Template::Dsl::Builder::Syntax

Included in:
Lono::Template::Dsl::Builder
Defined in:
lib/lono/template/dsl/builder/syntax.rb

Instance Method Summary collapse

Instance Method Details

#aws_template_format_version(version_date) ⇒ Object



4
5
6
# File 'lib/lono/template/dsl/builder/syntax.rb', line 4

def aws_template_format_version(version_date)
  @cfn["AWSTemplateFormatVersion"] = version_date
end

#condition(*definition) ⇒ Object



40
41
42
43
44
# File 'lib/lono/template/dsl/builder/syntax.rb', line 40

def condition(*definition)
  @cfn["Conditions"] ||= {}
  condition = Condition.new(definition)
  @cfn["Conditions"].merge!(condition.template)
end

#description(text) ⇒ Object



8
9
10
# File 'lib/lono/template/dsl/builder/syntax.rb', line 8

def description(text)
  @cfn["Description"] = text
end

#mapping(*definition) ⇒ Object



28
29
30
31
32
# File 'lib/lono/template/dsl/builder/syntax.rb', line 28

def mapping(*definition)
  @cfn["Mappings"] ||= {}
  mapping = Mapping.new(definition)
  @cfn["Mappings"].merge!(mapping.template)
end

#metadata(data) ⇒ Object



12
13
14
# File 'lib/lono/template/dsl/builder/syntax.rb', line 12

def (data)
  @cfn["Metadata"] = data
end

#output(*definition) ⇒ Object



46
47
48
49
50
# File 'lib/lono/template/dsl/builder/syntax.rb', line 46

def output(*definition)
  @cfn["Outputs"] ||= {}
  output = Output.new(definition)
  @cfn["Outputs"].merge!(output.template)
end

#parameter(*definition) ⇒ Object



22
23
24
25
26
# File 'lib/lono/template/dsl/builder/syntax.rb', line 22

def parameter(*definition)
  @cfn["Parameters"] ||= {}
  param = Parameter.new(definition)
  @cfn["Parameters"].merge!(param.template)
end

#resource(*definition) ⇒ Object



34
35
36
37
38
# File 'lib/lono/template/dsl/builder/syntax.rb', line 34

def resource(*definition)
  @cfn["Resources"] ||= {}
  resource = Resource.new(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



54
55
56
# File 'lib/lono/template/dsl/builder/syntax.rb', line 54

def section(key, definition)
  @cfn[key] = Section.new(definition).template
end

#transform(*definition) ⇒ Object



16
17
18
19
20
# File 'lib/lono/template/dsl/builder/syntax.rb', line 16

def transform(*definition)
  definition = definition.flatten
  definition.map! { |x| CfnCamelizer.camelize(x) }
  @cfn["Transform"] = definition.size == 1 ? definition.first : definition
end