Optional Parameter in CloudFormation
Sometimes you want a CloudFormation Parameter to be optional. Unfortunately a blank Parameter contains an empty string. If you pass this empty string to e.g. the
KeyName Property of an EC2 Instance or Launch Configuration you end up with a validation error.
Imagine the following CloudFormation template:
If you leave the
KeyName blank you will get the following error:
Staying ahead of the game with Amazon Web Services (AWS) is a challenge. Our weekly videos and online events provide independent insights into the world of cloud. Subscribe to cloudonaut plus to get access to our exclusive videos and online events.Subscribe now!
Parameter validation failed: parameter value for parameter name
KeyName does not exist. Rollback requested by user.
The solution is the make use of CloudFormation
Conditions, the Condition Function
Fn::If and the Pseudo Parameter
Now you can leave the
KeyName parameter blank to not add a EC2 KeyPair to the