Skip to content

Intrinsic Functions

The AWS CloudFormation lexicon provides 13 intrinsic functions.

Tag? shows how an intrinsic is authored: a genuine tagged template (Sub\…`) or a plain function call (Ref(…)). **Folds?** shows whether [folding](/chant/concepts/typescript-as-data/#folded-vs-run) — the default chant build path — can reduce a use of this intrinsic today, without running the file — generated directly from this lexicon's registration, not restated by hand. A tagged template folds once it is registered. A plain call folds only where this lexicon has opted that intrinsic in one at a time (foldsAsCall), so a No` in this column means this intrinsic has not been opted in, not that calls in general cannot fold.

FunctionDescriptionOutput KeyTag?Folds?
SubFn::Sub template string interpolationFn::SubYesYes
RefReference a parameter or resourceRefNoYes
GetAttFn::GetAtt — get resource attributeFn::GetAttNoYes
IfFn::If — conditional valueFn::IfNoYes
JoinFn::Join — join values with delimiterFn::JoinNoYes
SelectFn::Select — select value by indexFn::SelectNoYes
SplitFn::Split — split string by delimiterFn::SplitNoYes
Base64Fn::Base64 — encode to Base64Fn::Base64NoYes
GetAZsFn::GetAZs — list Availability ZonesFn::GetAZsNoYes
EqualsFn::Equals — condition comparing two valuesFn::EqualsNoYes
AndFn::And — condition conjunctionFn::AndNoYes
OrFn::Or — condition disjunctionFn::OrNoYes
NotFn::Not — condition negationFn::NotNoYes