調用內部函數Fn::GetAtt,返回模板中對應資源的屬性值。
Fn::GetAtt函數用于資源棧以獲取資源輸出
函數聲明
JSON
{ "Fn::GetAtt": [ "logicalNameOfResource", "attributeName" ] }
YAML
完整函數名的語法。
Fn::GetAtt: - logicalNameOfResource - attributeName
縮寫形式語法。
!GetAtt logicalNameOfResource.attributeName
參數信息
logicalNameOfResource
:資源棧中資源的邏輯名稱。資源邏輯名稱為您在模板中為特定資源定義的易識別的名稱。attributeName
:資源棧中資源的屬性名稱。
返回值
資源棧中對應資源的屬性值,即attributeName
的值。
使用示例
返回資源名稱為MyEcsInstance中的ImageID屬性值。
!GetAtt MyEcsInstance.ImageID
{
"Fn::GetAtt": [
"MyEcsInstance",
"ImageID"
]
}
說明
在資源棧模板中,使用縮寫形式的語法引用資源輸出時可以支持包含.
的資源名稱,但是建議您盡量避免使用包含.
的資源邏輯名稱。
Resources:
Foo.Moo.MyInstance:
Type: ALIYUN::ECS::InstanceGroup
Outputs:
ImageId:
Value: !GetAtt Foo.Moo.MyInstance.ImageID
Fn::GetAtt函數用于嵌套資源棧以獲取嵌套資源棧的輸出
函數聲明
JSON
{ "Fn::GetAtt": [ "nestedStackName", "Outputs.attributeName" ] }
YAML
完整函數名的語法。
Fn::GetAtt: - nestedStack - Outputs.attributeName
縮寫形式語法。
!GetAtt nestedStack.Outputs.attributeName
說明使用YAML的縮寫形式獲取嵌套資源棧輸出時,可以支持嵌套資源棧名稱中包含
.
,但不支持嵌套資源棧輸出的屬性名稱中包含.
。
參數
nestedStack
:嵌套資源棧的名稱。關于嵌套資源棧,請參見使用嵌套資源棧。Outputs.attributeName
:Outputs.
前綴固定,attributeName
為嵌套資源棧中輸出的屬性名稱。
返回值
嵌套資源棧中輸出的屬性值。
使用示例
關于示例的更多信息,請參見ALIYUN::ROS::Stack。
文檔內容是否對您有幫助?