You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.0 KiB
41 lines
1.0 KiB
- naked variable names
|
|
- single quoted strings
|
|
- numbers are numbers
|
|
- postfix?
|
|
- english-y operators?
|
|
|
|
LoadBalancerType 'internet-facing' eq LoadBalancerType defined or
|
|
|
|
Maybe function calls for some of the kind of stuff we need in expressions?
|
|
|
|
'LoadBalancerType' parameter 'internet-facing' eq
|
|
|
|
How do we differentiate between parameters and variables? Do we shove those all in one bucket?
|
|
|
|
Should statements that reference parameters simply be evaluated as far as we can, then the
|
|
remainder converted into a cfn condition+fn::if?
|
|
|
|
|
|
Pass 1:
|
|
- Load all files
|
|
- Build dependency graph
|
|
|
|
Pass 2:
|
|
- Run through files in dependency graph
|
|
- Run mergeFunctions + merge for each
|
|
|
|
Pass 3:
|
|
- Load all variables (does this need a dependency graph as well?) -- can grab these from the final document
|
|
- Load all parameters (again, do we need a dependency graph?) -- can grab these from the final document
|
|
- Evaluate variables + parameters
|
|
|
|
Pass 3:
|
|
- Run other functions (e.g., !var, !if, etc)
|
|
|
|
So maybe pass 1:
|
|
mergeFunctions
|
|
merge
|
|
|
|
Pass 2:
|
|
|
|
|
|
|