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:
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 AWS::NoValue
.
{ |
Now you can leave the KeyName
parameter blank to not add a EC2 KeyPair to the LaunchConfiguration
.
- On the way to sustainable open source projects
- Master Python with PCAP Certification: Your 2025 Roadmap to Career Advancement
- Have you replaced IAM Users with AWS SSO yet?
- Master Your VMware Skills: Your 2025 Guide to Earning the 1V0-21.20 Certification for IT Career Advancement
- How to become an AWS expert