本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
虛擬參數參考
虛擬參數是由 預先定義的參數 AWS CloudFormation。請勿在範本中宣告這些參數。虛擬參數與參數的使用方式相同,且可作為 Ref
函數的引數。
範例
以下程式碼片段會將 AWS::Region
虛擬參數值指派給輸出值:
JSON
"Outputs" : { "MyStacksRegion" : { "Value" : { "Ref" : "AWS::Region" } } }
YAML
Outputs: MyStacksRegion: Value: !Ref "AWS::Region"
AWS::AccountId
傳回建立堆疊之帳戶的帳戶 AWS ID,例如 123456789012
。
AWS::NotificationARNs
傳回目前堆疊的通知 Amazon Resource Names (ARNs) 清單。
若要ARN從清單中取得單一 ,請使用 Fn::Select 。
JSON
"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
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
內部函數中將此參數指定為傳回值,則系統會移除對應的資源屬性。
例如,只有在提供快照 ID 時,才能在想要將快照用於 Amazon RDS 資料庫執行個體時使用 AWS::NoValue
參數。如果UseDBSnapshot
條件評估為 true, CloudFormation 會使用 DBSnapshotIdentifier
屬性的DBSnapshotName
參數值。如果條件評估為 false,則 CloudFormation 移除 DBSnapshotIdentifier
屬性。
JSON
"MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : "5", "DBInstanceClass" : "db.t2.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
MyDB: Type: AWS::RDS::DBInstance Properties: AllocatedStorage: '5' DBInstanceClass: db.t2.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 GovCloud (美國西部) 區域中資源的分割區為 aws-us-gov
。
AWS::Region
傳回建立包容性資源區域的代表字串,例如: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
。