AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Pseudo 参数参考

虚拟参数是 AWS CloudFormation 预定义的参数。请您不要在您的模板中声明它们。采用跟参数一样的方法来将其它们用作 Ref 函数的参数。

示例

以下代码段将 AWS::Region 伪参数的值分配给输出值:

JSON

Copy
"Outputs" : { "MyStacksRegion" : { "Value" : { "Ref" : "AWS::Region" } } }

YAML

Copy
Outputs: MyStacksRegion: Value: !Ref "AWS::Region"

AWS::AccountId

返回在其中创建堆栈的账户的 AWS 账户 ID,如 123456789012

AWS::NotificationARNs

返回当前堆栈的通知Amazon 资源名称 (ARN) 列表。

要从列表中获取单个 ARN,请使用 Fn::Select

JSON

Copy
"myASGrpOne" : { "Type" : "AWS::AutoScaling::AutoScalingGroup", "Version" : "2009-05-15", "Properties" : { "AvailabilityZones" : [ "us-east-1a" ], "LaunchConfigurationName" : { "Ref" : "MyLaunchConfiguration" }, "MinSize" : "0", "MaxSize" : "0", "NotificationConfigurations" : [{ "TopicARN" : { "Fn::Select" : [ "0", { "Ref" : "AWS::NotificationARNs" } ] }, "NotificationTypes" : [ "autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_LAUNCH_ERROR" ] }] } }

YAML

Copy
myASGrpOne: Type: AWS::AutoScaling::AutoScalingGroup Version: '2009-05-15' Properties: AvailabilityZones: - "us-east-1a" LaunchConfigurationName: Ref: MyLaunchConfiguration MinSize: '0' MaxSize: '0' NotificationConfigurations: - TopicARN: Fn::Select: - '0' - Ref: AWS::NotificationARNs NotificationTypes: - autoscaling:EC2_INSTANCE_LAUNCH - autoscaling:EC2_INSTANCE_LAUNCH_ERROR

AWS::NoValue

如果在 Fn::If 内部函数中指定为返回值,则删除相应的资源属性。

举例来说,如果需要对 Amazon RDS 数据库实例使用快照(仅当提供了快照 ID 时),您可以使用 AWS::NoValue 参数:如果 UseDBSnapshot 条件计算为 true,则 AWS CloudFormation 对 DBSnapshotIdentifier 属性使用 DBSnapshotName 参数值。如果条件计算为 false,则 AWS CloudFormation 删除 DBSnapshotIdentifier 属性。

JSON

Copy
"MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : "5", "DBInstanceClass" : "db.m1.small", "Engine" : "MySQL", "EngineVersion" : "5.5", "MasterUsername" : { "Ref" : "DBUser" }, "MasterUserPassword" : { "Ref" : "DBPassword" }, "DBParameterGroupName" : { "Ref" : "MyRDSParamGroup" }, "DBSnapshotIdentifier" : { "Fn::If" : [ "UseDBSnapshot", {"Ref" : "DBSnapshotName"}, {"Ref" : "AWS::NoValue"} ] } } }

YAML

Copy
MyDB: Type: AWS::RDS::DBInstance Properties: AllocatedStorage: '5' DBInstanceClass: db.m1.small Engine: MySQL EngineVersion: '5.5' MasterUsername: Ref: DBUser MasterUserPassword: Ref: DBPassword DBParameterGroupName: Ref: MyRDSParamGroup DBSnapshotIdentifier: Fn::If: - UseDBSnapshot - Ref: DBSnapshotName - Ref: AWS::NoValue

AWS::Partition

返回资源所处的分区。对于标准 AWS 区域,分区是 aws。对于位于其他分区中的资源,则分区是 aws-partitionname。例如,位于 中国(北京) 区域的资源的分区为 aws-cn

AWS::Region

返回代表包容性资源在其中创建的 AWS 区域的字符串,如 us-west-2

AWS::StackId

返回使用 aws cloudformation create-stack 命令指定的堆栈的 ID,如 arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123

AWS::StackName

返回使用 aws cloudformation create-stack 命令指定的堆栈的名称,如 teststack

AWS::URLSuffix

返回某个域的后缀。后缀通常是 amazonaws.com,但也可能根据区域而不同。例如,中国(北京) 区域的后缀是 amazonaws.com.cn