CloudFormation: How to get a list of key pairs in a given region

Solution 1:

Instead of Type: String use Type: AWS::EC2::KeyPair::KeyName and it should populate the list for you.

This should do:

Parameters:
  SSHKey:
    Type: AWS::EC2::KeyPair::KeyName
    Description: name of the key pair to ssh into the instance

Check out AWS-specific parameter types for a complete list of parameter types that you can use. Some populate the available values (like the SSH Keys, VPC IDs, Subnet IDs, etc), some don't (for example the AMI Image IDs).

Hope that helps :)