Menu
AWS CloudFormation
User Guide (API Version 2010-05-15)

CloudFormation Stack Parameters Property Type

The Parameters type is an embedded property of the AWS::CloudFormation::Stack type.

The Parameters type contains a set of value pairs that represent the parameters that will be passed to the template used to create an AWS::CloudFormation::Stack resource. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. For example, the sample template EC2ChooseAMI.template contains the following Parameters section:

JSON


"Parameters" : {
   "InstanceType" : {
      "Type" : "String",
      "Default" : "m1.small",
      "Description" : "EC2 instance type, e.g. m1.small, m1.large, etc."
   },
   "WebServerPort" : {
      "Type" : "String",
      "Default" : "80",
      "Description" : "TCP/IP port of the web server"
   },
   "KeyName" : {
      "Type" : "String",
      "Description" : "Name of an existing EC2 KeyPair to enable SSH access to the web server"
   }
}

YAML


Parameters: 
  InstanceType: 
    Type: "String"
    Default: "m1.small"
    Description: "EC2 instance type, e.g. m1.small, m1.large, etc."
  WebServerPort: 
    Type: "String"
    Default: "80"
    Description: "TCP/IP port of the web server"
  KeyName: 
    Type: "String"
    Description: "Name of an existing EC2 KeyPair to enable SSH access to the web server"

Nested Stack

You could use the following template to embed a stack (myStackWithParams) using the EC2ChooseAMI.template and use the Parameters property in the AWS::CloudFormation::Stack resource to specify an InstanceType and KeyName:

JSON


{
   "AWSTemplateFormatVersion" : "2010-09-09",
   "Resources" : {
      "myStackWithParams" : {
         "Type" : "AWS::CloudFormation::Stack",
         "Properties" : {
            "TemplateURL" : "https://s3.amazonaws.com/cloudformation-templates-us-east-1/EC2ChooseAMI.template",
            "Parameters" : {
               "InstanceType" : "t1.micro",
               "KeyName" : "mykey"
            }
         }
      }
   }
}

YAML

AWSTemplateFormatVersion: "2010-09-09"
Resources: 
  myStackWithParams: 
    Type: "AWS::CloudFormation::Stack"
    Properties: 
      TemplateURL: "https://s3.amazonaws.com/cloudformation-templates-us-east-1/EC2ChooseAMI.template"
      Parameters: 
        InstanceType: "t1.micro"
        KeyName: "mykey"