Class: CfnDsl::RuleDefinition

Inherits:
JSONable
  • Object
show all
Defined in:
lib/cfndsl/rules.rb

Overview

Handles Rule objects

Constant Summary

Constants included from Functions

Functions::FN_SUB_SCANNER

Instance Method Summary collapse

Methods inherited from JSONable

#as_json, #declare, #external_parameters, external_parameters, #ref_children, #to_json

Methods included from Functions

#FnAnd, #FnBase64, #FnCidr, #FnEquals, #FnFindInMap, #FnGetAZs, #FnGetAtt, #FnIf, #FnImportValue, #FnJoin, #FnNot, #FnOr, #FnSelect, #FnSplit, #FnSub, #Ref

Methods included from RefCheck

#build_references, #ref_children

Constructor Details

#initializeRuleDefinition

Returns a new instance of RuleDefinition.



10
11
12
# File 'lib/cfndsl/rules.rb', line 10

def initialize
  @Assertions = []
end

Instance Method Details

#Assert(desc, struct) ⇒ Object



14
15
16
# File 'lib/cfndsl/rules.rb', line 14

def Assert(desc, struct)
  @Assertions.push('Assert' => struct, 'AssertDescription' => desc)
end

#FnContains(list_of_strings, string) ⇒ Object



18
19
20
# File 'lib/cfndsl/rules.rb', line 18

def FnContains(list_of_strings, string)
  Fn.new('Contains', [list_of_strings, string])
end

#FnEachMemberEquals(list_of_strings, string) ⇒ Object



22
23
24
# File 'lib/cfndsl/rules.rb', line 22

def FnEachMemberEquals(list_of_strings, string)
  Fn.new('EachMemberEquals', [list_of_strings, string])
end

#FnEachMemberIn(strings_to_check, strings_to_match) ⇒ Object



26
27
28
# File 'lib/cfndsl/rules.rb', line 26

def FnEachMemberIn(strings_to_check, strings_to_match)
  Fn.new('EachMemberIn', [strings_to_check, strings_to_match])
end

#FnRefAll(parameter_type) ⇒ Object



30
31
32
# File 'lib/cfndsl/rules.rb', line 30

def FnRefAll(parameter_type)
  Fn.new('RefAll', parameter_type)
end

#FnValueOf(parameter_logical_id, attribute) ⇒ Object



34
35
36
37
38
# File 'lib/cfndsl/rules.rb', line 34

def FnValueOf(parameter_logical_id, attribute)
  raise 'Cannot use functions within FnValueOf' unless parameter_logical_id.is_a?(String) && attribute.is_a?(String)

  Fn.new('ValueOf', [parameter_logical_id, attribute])
end

#FnValueOfAll(parameter_logical_id, attribute) ⇒ Object



40
41
42
43
44
# File 'lib/cfndsl/rules.rb', line 40

def FnValueOfAll(parameter_logical_id, attribute)
  raise 'Cannot use functions within FnValueOfAll' unless parameter_logical_id.is_a?(String) && attribute.is_a?(String)

  Fn.new('ValueOfAll', [parameter_logical_id, attribute])
end