π§ Core Functions:
!Refβ get value of param or resource!GetAttβ get attribute (e.g.!GetAtt EC2Instance.PublicIp)!Subβ string interpolation (${})!Joinβ concat strings!If,!Equals,!Not,!Or,!Andβ conditions!Select,!Split,!FindInMapβ array/map helpers
π Pseudo Parameters:
${AWS::Region}${AWS::AccountId}${AWS::StackName}${AWS::Partition}${AWS::NoValue}β used to remove a property conditionally
π§© Intrinsics & Helpers:
Mappingsβ key-value lookup tableConditionsβ used to control resource creationDependsOnβ control resource dependencyMetadataβ for tooling (e.g.,cfn-init)CreationPolicy,UpdatePolicy,DeletionPolicyβ lifecycle control
π¦ Template Sections:
Parametersβ user inputsResourcesβ actual AWS stuffOutputsβ expose valuesMappings,Conditions,Metadata,Rules
Master these, and youβre 90% CloudFormation-ready.