CloudFormation参数

使用可选的 Parameters 部分来自定义模板。利用参数,您能够在每次创建或更新堆栈时将自定义值输入模板。

在模板中定义参数

以下示例声明名为 InstanceTypeParameter 的参数。利用此参数,您可以为堆栈指定 Amazon EC2 实例类型以在创建或更新堆栈时使用。

请注意,InstanceTypeParameter 具有默认值 t2.micro。除非提供有其他值,否则这是 AWS CloudFormation 用于预置堆栈的值。

"Parameters" : {
"InstanceTypeParameter" : {
"Type" : "String",
"Default" : "t2.micro",
"AllowedValues" : ["t2.micro", "m1.small", "m1.large"],
"Description" : "Enter t2.micro, m1.small, or m1.large. Default is t2.micro."
}
}

在模板中引用参数

您使用 Ref 内部函数来引用某个参数,AWS CloudFormation 使用该参数的值来预置堆栈。您可以引用同一模板的 Resources 和 Outputs 部分中的参数。

在以下示例中,EC2 实例资源的 InstanceType 属性引用了 InstanceTypeParameter 参数值:

"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"InstanceType" : { "Ref" : "InstanceTypeParameter" },
"ImageId" : "ami-0ff8a91507f77f867"
}
}

参数的一般要求

使用参数时存在以下要求:

  • 一个 AWS CloudFormation 模板中最多可包含 60 个参数。

  • 必须为每个参数提供一个逻辑名称 (也称为逻辑 ID),该名称必须是字母数字,并且在模板内的所有逻辑名称中必须是唯一的。

  • 必须向每个参数分配一个受 AWS CloudFormation 支持的参数类型。有关更多信息,请参阅类型

  • 必须向每个参数分配一个运行时的值,使 AWS CloudFormation 能够成功预置堆栈。您可以选择为要使用的 AWS CloudFormation 指定默认值,除非提供有其他值。

  • 必须在同一模板内声明和引用参数。您可以引用模板的 Resources 和 Outputs 部分中的参数。

 
原文地址:https://www.cnblogs.com/cloudrivers/p/11429354.html